首页 > 代码库 > SCANF SCANF_S
SCANF SCANF_S
今天在看C的教程的时候,用VS2013写了一小段代码 scanf("%f",&w);
提示需要在预编译器里添加 _CRT_SECURE_NO_WARNINGS, 百度了下,发现要么用 scanf_s 来代替scanf,要么就添加这个定义
原因是,VS针对scanf的不安全性,又包了一个scanf_s的函数 ,定义里,多了一个长度的参数, scanf_s("%s",buf,sizeof(buf));
这样不会导致内存溢出错误(比如只能接受4个长度的数组,输入的时候却输入了6个长度)
(我也没明白,这个溢出会有什么异常)
GCC里直接编译,scanf,不会有错误提示的,这个错误是Windows专有的.
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。