今天用fgets 写入文件,然后输出,发现不是自己想要的格式,找了很久,终于发现了罪魁祸首,fgets, 在从键盘读取字符时,它会保存换行符,然后输出会自动换行,然后用了gets 可以解决,但编译器会警告,然后,找了下相关资料,给字符数组赋值,把最后一个用 ‘ 0 ’ 取代,如:假设你用fgets 输入18个字符,然后回车键,int a[20 ] ,,用strlen(a),就有19个字符,用gets输入就有18个字符。fgets 输入的解决办法,a[ strlen(a)-1 ]=' 0 ';就把那个换行符取代了。。。哎这个问题折腾了为3个多小时。
转载于:https://www.cnblogs.com/xiaotian2019/p/10439685.html
本文探讨了使用fgets从键盘读取字符时遇到的问题,即它会保留换行符导致输出格式错误。通过对比gets函数,作者分享了解决方案,并提供了一种修改fgets输入的方法,即将最后一个字符替换为'0',以去除多余的换行符。
1383

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



