#include <iostream.h>
int main()
{
char str[4] = {0};
scanf("%s", str);
return 0;
}
在程序输入字符串的时候,如果输入的字符串超过了指定的长度,会使程序崩溃,造成溢出错误
cin 也一样
======
fgets 是安全的
输入字符超长后,会按照指定的长度去截取
本文对比了使用scanf和cin在C++中读取字符串时可能遇到的缓冲区溢出问题,并介绍了fgets作为安全替代方案的应用。通过具体示例展示了如何避免输入过长导致的程序崩溃。
#include <iostream.h>
int main()
{
char str[4] = {0};
scanf("%s", str);
return 0;
}
在程序输入字符串的时候,如果输入的字符串超过了指定的长度,会使程序崩溃,造成溢出错误
cin 也一样
======
fgets 是安全的
输入字符超长后,会按照指定的长度去截取
4882
7836

被折叠的 条评论
为什么被折叠?