在C语言中,gets()
函数已经被弃用,因为它可能导致缓冲区溢出。作为替代,你可以使用fgets()
函数。fgets()
函数允许你指定要读取的最大字符数,从而避免了缓冲区溢出的风险。
下面是一个使用fgets()
的示例:
#include<stdio.h>
int main() {
char buffer[100];
printf("请输入一行文本:");
fgets(buffer, sizeof(buffer), stdin);
printf("你输入的文本是:%s", buffer);
return 0;
}
在这个示例中,我们使用fgets()
函数从标准输入(stdin
)读取一行文本,并将其存储在buffer
数组中。sizeof(buffer)
确保我们不会读取超过缓冲区大小的字符,从而避免了缓冲区溢出。注意,fgets()
会在读取的字符串末尾添加一个换行符(\n
),如果你不想保留这个换行符,可以手动删除它。