
MFC用fgets按回车获取文件内容,为什么出现乱码,代码和输入文件如下


input数组初始化为0了没?
明显是字符串没有\0结尾,导致读取到了后面的缓冲区,缓冲区是0xcc,就是烫烫烫
不知道你这个问题是否已经解决, 如果还没有解决的话:
- 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/204981
- 你也可以参考下这篇文章:MFC界面假死解决方案
- 除此之外, 这篇博客: C语言中文件的读写中的 fgets的相关用法 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
fgets(cache,size,fp);
- fgets是从文件流中读取一数据的函数,每次读取一行
- fgets函数遇到’\n’就会结束此次读取
- cache表示接收读入的字符串名
- size表示读入的字符数,如果文件流中一行的字符数大于size,则自动截断为多行
- fp表示需要读入数据的文件指针
- 读取完文件需要关闭文件
fclose(fp);
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^