Как установить формат кодирования объекта FILE * при использовании fopen для создания нового файла? - PullRequest
0 голосов
/ 02 февраля 2019

Я разрабатываю приложение macos на своем Mac, есть некоторая информация, которую мне нужно записать в мой файл log.txt, и эта информация содержит китайскую и английскую строку, поэтому я использую метод fopen для создания log.txt:

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

но при открытии log.txt он показывает мне грязный код в китайской строке:

оригинальная китайская строка '当前 启动 次数 是 ------',

и строка в файле log.txt имеет вид 'ÂΩìÂâçÂêØÂä®Ê¨ ° Êï∞ÊòØ ---',

, что мне делать, если вы хотите напечатать китайскую и английскую строки в журналеФайл .txt правильный, большое спасибо!

1 Ответ

0 голосов
/ 02 февраля 2019

Возможные дубликаты: C ++ пишет UTF-8 в Linux

Цитата:

расширения, сделанные в Windows, не работают в Linux, OS-X, Android, iOS и везде.Microsoft просто делает эти расширения для того, чтобы вы писали несовместимый код с другими платформами.

Преобразуйте вашу широкую строку в строку байтов, содержащую UTF-8, затем запишите байты в файл, как обычно.

...