gpt4 book ai didi

c - printf 的打印效果与 fprintf 不同

转载 作者:行者123 更新时间:2023-11-30 20:04:20 24 4
gpt4 key购买 nike

我正在为一个项目用 C 编写一个程序,它将打印到控制台的所有内容打印到文件中。问题是我必须打印一些特殊字符,例如“Ç”,因此我使用 ascii 代码,它可以很好地打印到控制台,但是它打印到文件的内容不正确。这是一个例子:

printf(" %c", 128);

output to console: Ç

fprintf(output, " %c", 128);

output to file: €

我在cmd中运行了命令chcp,它告诉我我正在使用代码页850并且我使用了那些asci代码,所以我不知道问题是什么。该程序写入记事本 txt 文件。

最佳答案

Ç 是代码页 437 或 850 等中的 128,这些编码有时由 Windows 控制台使用。相同的代码 128 是代码页 1252 或 1250 中的 ,这些编码是 Windows 图形应用程序经常使用的。唯一合理的方法是让您的控制台使用与图形应用程序相同的编码;为此,您可以在控制台中使用命令 chcp 1252 (change code page)命令提示符。

(注意:要使 chcp 生效,控制台必须使用 TrueType 字体,例如 Lucida Console 或 Consolas。)

关于c - printf 的打印效果与 fprintf 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41654032/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com