Указание кодировки при сохранении файла в приложении Windows - PullRequest
1 голос
/ 16 марта 2011

Я пишу программу, которая обрабатывает в основном текст Unicode. Функция стандартной библиотеки C 'fopen' обеспечивает запись символов в файл в формате utf-8 путем включения в строку аргумента режима "..., ccs = utf-8". Кажется, что Windows API «CreateFile» действительно предоставляет такое положение. Должен ли я использовать 'fopen' тогда?

Ответы [ 2 ]

1 голос
/ 16 марта 2011

Это специфично для программирования под Windows, с использованием Visual Studio и инструментов Microsoft.Мой личный совет - не использовать fopen с расширенным синтаксисом, иначе позже будут проблемы с совместимостью при переносе приложения на другие операционные системы.Когда под Windows, сделайте способ Windows, используйте CreateFile.

0 голосов
/ 16 марта 2011

Содержимое файла определяется не функцией открытия файла, а фактическими данными, которые вы пишете. После того, как вы получите дескриптор файла (по fopen или CreateFile), вы можете писать в UTF-8, или ANSI, или как вам угодно.

Обратите внимание, что для некоторых кодировок требуется специальный бит в начале файла.

...