社区
C语言
帖子详情
scanf_s的一个问题
weiqiyiji
2008-04-19 06:42:45
main() {
char c[30];
printf("Enter some characters:\n");
scanf_s("%s", c);
printf("%s\n", c);
}
我用scanf_s读取输入的字符后,没办法打印出任何东西,把scanf_s改回scanf就可以
这是为什么?
...全文
1115
11
打赏
收藏
scanf_s的一个问题
main() { char c[30]; printf("Enter some characters:\n"); scanf_s("%s", c); printf("%s\n", c); } 我用scanf_s读取输入的字符后,没办法打印出任何东西,把scanf_s改回scanf就可以 这是为什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xuguangzhu
2012-02-19
打赏
举报
回复
scanf_s("%s", c,sizeof(c));
这样就可以了 scanf_s 是scanf的安全版,检查内存边界,所以你需要提供一个边界的长度
Youngyang6
2010-05-15
打赏
举报
回复
你把 scanf_s("%s", c); 改成 scanf_s("%s", c,30); 这样就没问题了。。
由于scanf不安全,vc++2005/2008中提供了scanf_s(),在调用时,必须提供一个数字以表明最多读取多少位字符。 正如上面所改。
Youngyang6
2010-05-15
打赏
举报
回复
前面1-8楼的回答真垃圾,看问题没有啊??纯粹是为了得分进来的??这是论坛,答疑解惑的地方!晕~
我也遇到了这样的问题,楼主要是知道为什么,通知我一下啊!!谢了!!
我猜是一个bug。。谁知道呢。。
harrymwz1
2009-10-06
打赏
举报
回复
scanf_s更安全
meiZiNick
2008-04-30
打赏
举报
回复
接分是王道!
morre
2008-04-19
打赏
举报
回复
首先,_s 类是针对内存泄露的安全问题,所以为VS2005所推荐.
其次,注重scanf_s,wscanf_s函数后必须有数字,表示最多输入多少位(不是字节数),假如没有的话就相当于0,假如输入的字符超出范围,输出时就是空,得不到正确结果.
用户 昵称
2008-04-19
打赏
举报
回复
那msdn里面有没有说别的呢?可能有一些宏定义或选项得用上。
weiqiyiji
2008-04-19
打赏
举报
回复
我在网上搜的时候说
这是msdn里面推荐的
更安全
l999358
2008-04-19
打赏
举报
回复
没见过。。。。。。
scanf()
sscanf()
这我都见过,就你这个,有才!
weiqiyiji
2008-04-19
打赏
举报
回复
vc2005里面就建议用scanf_s
用户 昵称
2008-04-19
打赏
举报
回复
scanf_s?
【C语言】关于
scanf
()与
scanf
_s()的一些
问题
本文探讨了C语言中
scanf
函数的安全隐患,特别是在输入超出预期长度时导致的内存溢出
问题
。通过对比VisualStudio环境下
scanf
与
scanf
_s的使用,阐述了如何利用
scanf
_s避免内存溢出,确保程序稳定运行。
VS中
scanf
_s使用出现的
问题
这篇博客探讨了在Visual Studio(VS)中使用
scanf
_s函数时遇到的
问题
,特别是读取字符时的格式差异。作者指出,
scanf
_s并非
scanf
的简单替代,其格式要求不同,读取字符需指定长度上限。当连续使用多个
scanf
_s时,由于每个函数后产生的额外回车,可能导致输入跳过。解决方法是在每个
scanf
_s后添加getchar()来消耗多余的回车。虽然此方法简单,但增加了代码的繁琐性。
scanf
_s使用时遇到的
问题
博客讨论了
scanf
和
scanf
_s的使用情况。目前不清楚程序
问题
所在,切换为
scanf
程序正常。使用
scanf
_s定义含一万个元素数组时会报警告且无法运行,而
scanf
则不会,表明
scanf
_s更追求安全。
scanf
_s报错
问题
博主在学习C语言使用VS2017时,
scanf
提示不安全需用
scanf
_s。按资料使用
scanf
_s(格式控制,地址列表,缓冲大小)报错,参数过多。多次尝试和查阅文章无果,最后用
scanf
_s(格式控制,地址列表)方式解决
问题
,并分享此经验。
scanf
?
scanf
_s ?这是个
问题
本文详细介绍了如何解决VS2019中
scanf
函数的安全警告
问题
,包括使用
scanf
_s的考虑、_CRT_SECURE_NO_WARNINGS宏的使用方法,以及如何设置VS自动添加该宏。提供了一劳永逸的文件设置技巧,方便读者在新建C++文件时自动规避警告。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章