MFC读取文件的乱码问题

img


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

img

img

input数组初始化为0了没?

明显是字符串没有\0结尾,导致读取到了后面的缓冲区,缓冲区是0xcc,就是烫烫烫

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/204981
  • 你也可以参考下这篇文章:MFC界面假死解决方案
  • 除此之外, 这篇博客: C语言中文件的读写中的 fgets的相关用法 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    fgets(cache,size,fp);

    1. fgets是从文件流中读取一数据的函数,每次读取一行
    2. fgets函数遇到’\n’就会结束此次读取
    3. cache表示接收读入的字符串名
    4. size表示读入的字符数,如果文件流中一行的字符数大于size,则自动截断为多行
    5. fp表示需要读入数据的文件指针
    6. 读取完文件需要关闭文件
      fclose(fp);

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^