不安全函数(scanf等的报错)
VC++中可以使用scanf,但建议使用scanf_s替代。理由如下:
C语言中使用scanf,而C++认为scanf是不安全的。因为scanf函数自身不会检查输入数据的长度,容易导致缓冲区溢出,故存在安全缺陷。
char str[10];
scanf("%s",str); //如果输入超过10个字符,就会导致缓冲区溢出
C11标准可选地引入了一系列带_s后缀的"安全函数",这些函数要求格式说明符如%s,%c,%[]等提供缓冲区大小作为额外参数。
其他不安全的函数如:gets()(老标准的C函数)—>gets_s
gets_s(line,sizeof(line));
————————————————
版权声明:本文为CSDN博主「阳冲亦右」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_53606700/article/details/160867531
浙公网安备 33010602011771号