大家好,今天给各位分享程序员5年总结——你是否被几个scanf、sprintf问题困扰?你知道几个?的一些知识,其中也会对进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
12.15 当我使用“%d\n”调用scanf从键盘读取数字时,似乎我必须在函数返回之前再输入一行。
12.16 我使用scanf %d 读取数字,然后使用gets() 读取字符串,但编译器似乎跳过gets() 调用!
12.17 我发现如果坚持检查返回值以确保用户输入的是我期望的值,使用scanf()会安全很多,但有时似乎会陷入死循环。
12.18 为什么大家都说不要用scanf()?那么我应该用什么来代替呢?
12.19 我如何知道任何sprintf 调用需要多大的目标缓冲区?如何避免sprintf() 目标缓冲区溢出?
12.20 为什么大家都说不要用gets()?
12.21 为什么调用printf()后errno中有ENOTTY?
12.22 fgetops/fsetops 和ftell/fseek 有什么区别? fgetops() 和fsetops() 究竟有何用途?
12.23 如何清除多余的输入以防止在下一个提示时读入? fflush(stdin) 可以吗?
12.24 既然fflush()不能,我们如何清除输入?
12.25 对某些路径文件名调用fopen() 总是失败。
12.26 我想使用“r+”打开文件,读取字符串,修改它然后写入它,从而就地更新文件。但这是行不通的。
12.27 如何将stdin或stdout重定向到程序中的文件?
12.28 使用freopen() 后如何恢复原始的stdout(或stdin)?
12.29 如何同时输出到两个地方,例如同时输出到屏幕和文件?
12.30 如何正确读取二进制文件?我有时会混淆0x0a 和0x0d,如果数据包含0x1a,我似乎会提前得到EOF。
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/118960.html
用户评论
空谷幽兰
真的!我刚毕业那两年就因为 scanf 和 sprintf 一直在调试bug,还以为我的c语言基础不好呢结果发现真的是这些细节函数容易出错啊
有15位网友表示赞同!
一个人的荒凉
这个真是太贴心了!我一直觉得scanf和sprintf很强大却又很难掌握,你总结的几个问题确实很有实用价值,下次遇到类似的问题记得过来看看你的博客.
有16位网友表示赞同!
伤离别
作为一个刚入行的小白来说,我遇到的问题大多数都是fscanf 和 fprintf 的坑。希望能有机会学习到更多关于 scanf 和 sprintf 的知识!
有18位网友表示赞同!
西瓜贩子
5年经验的总结确实很有参考意义,尤其是scanf 和 sprintf 的讲解,太精准了!我曾经被缓冲区溢出这个问题困扰过好几次,现在回想起来还真是你提到的那些问题!
有9位网友表示赞同!
素颜倾城
程序员要对所有细节函数都精通,才能写出更加规范和高效的代码。这篇文章让我意识到 scanf 和 sprintf 的使用需要特别小心,以后我会注意这些问题!
有9位网友表示赞同!
七夏i
printf 和 sprintf 确实很常见,但是很容易出现格式错误啊。之前我总是按照感覚去写,后来发现很多时候会出现不一致的现象,看来还是要好好学习一下它们的使用规则呀!
有20位网友表示赞同!
封锁感觉
scanf 和 sprintf 确实是我一直纠结的问题!你总结的这些坑点太实用了,特别是缓冲区溢出这个问题,以后我要认真思考如何避免。
有5位网友表示赞同!
冷落了♂自己·
我觉得文章提到的问题非常实用,尤其是对初学者很有帮助。我刚接触 C 语言的时候也遇到了 scanf 和 sprintf 的一些问题,希望以后能更注重细节处理.
有6位网友表示赞同!
箜明
这标题看着就让人很感兴趣!感觉自己确实会被这些scanf和sprintf的问题纠结很久,我还没入坑就看网上的评论都说不好用哈哈!
有19位网友表示赞同!
浅巷°
作为一个经验丰富的前端开发人员,虽然不常使用 C 语言,但 scanf 和 sprintf 的基础知识还是了解一些的。这篇文章提醒了我,细节问题的重要性无论在任何领域都不能忽视!
有10位网友表示赞同!
莫名的青春
作者总结得真不错,特别是那个关于格式字符串的例子,让我恍然大悟。以后写代码的时候一定要注意这些细节,避免出现错误!
有10位网友表示赞同!
一样剩余
5年程序员的经验感同身受啊!我作为一个学编程不久的门外汉,对 scanf 和 sprintf 还没有掌握太好,看了这篇文章感觉受益匪浅,希望下次遇到类似的问题能想到你的总结!
有20位网友表示赞同!
伪心
文章写的不错,可以帮助很多初学者避免踩坑。不过我觉得格式化输入和输出的函数有很多种实现方式,比如更高级的 C++ 的库,也可以实现类似的功能,值得进一步探讨!
有15位网友表示赞同!
失心疯i
这篇文章提醒了我要更加重视代码的细节问题,scanf 和 sprintf 的使用确实需要注意很多细节!作为一个老工程师,我得保持学习的态度才能一直在代码的世界里游刃有余!
有17位网友表示赞同!