runmorin 2025-12-25 12:35 采纳率: 0%
浏览 11

c语言作业遇到的问题

为什么我用fprintf向文本文件里写东西,不管用汉字还是英文文件里面都是乱码的,但是我预览查看却是正常的。我用的是vs2022,希望给予解答。

img

img

  • 写回答

1条回答 默认 最新

  • 独角鲸网络安全实验室 新星创作者: 人工智能技术领域 2025-12-29 09:44
    关注

    这是VS的“编码格式”问题,简单说:

    1. VS默认用UTF-8存文件,但Windows记事本等工具默认是GBK编码,所以直接打开txt会乱码;
    2. 预览正常是因为VS自己能识别UTF-8,外部工具没对应编码就显示乱了。

    解决办法:
    fopen的时候指定编码,把"w+"改成"w+,ccs=UTF-8",即:

    FILE* pf = fopen("人口信息.txt", "w+,ccs=UTF-8");
    

    这样文件会以UTF-8编码保存,用记事本(选UTF-8打开)或其他工具看就正常了。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月25日