使用fopen创建新文件时如何设置FILE *对象编码格式?

时间:2019-02-02 08:07:00

标签: c++ character-encoding fopen

我在Mac上开发了一个macos应用程序,有些信息需要写入到log.txt文件中,并且该信息包含中英文字符串,因此我使用fopen方法创建了log.txt: / p>

 FILE * m_pFile = fopen(filename, "a+, ccs=UTF-8");

但是当打开log.txt时,它显示了中文字符串中的混乱代码:

原始中文字符串为“当前启动次数是------”,

,log.txt中的字符串为'ΩΩÂaççêêØÂä®Ê¨°Êï∞ÊòØ---'

我该怎么办,如果想在log.txt文件中正确打印中英文字符串,非常感谢!

1 个答案:

答案 0 :(得分:1)

可能的重复项:C++ writing UTF-8 on Linux

报价:

  

在Windows上完成的扩展在Linux,OS-X,Android,   iOS和其他地方。微软只是将这些扩展   实现您编写与其他平台不兼容的代码。

     

将宽字符串转换为包含UTF-8的字节字符串,然后   像往常一样将字节写入文件。