gets() 函数用于从标准输入中读取一行字符,直到遇到换行符或文件结束符,然后将读取的内容存储在指定的字符数组中。它不检查输入缓冲区长度,容易发生缓冲区溢出。
gets() 函数在 C 语言中的用法
gets() 函数用于从标准输入中读取一行的字符,直到遇到换行符或文件结束符 (EOF)。它将读取的内容存储在指定的字符数组中。
语法
char *gets(char *str);
参数
- str:指向一个字符数组的指针,用于存储读取的字符串。
返回值
- 成功:返回指针 str。
- 失败:返回 NULL。
用法示例
#include <stdio.h>
int main() {
char name[50];
printf("Enter your name: ");
gets(name);
printf("Your name is: %s", name);
return 0;
}</stdio.h>
注意
- gets() 函数不检查输入缓冲区的长度,这可能导致缓冲区溢出。因此,建议使用 fgets() 函数来代替 gets()。
- 由于 gets() 不检查输入缓冲区的长度,因此它容易受到缓冲区溢出攻击。