LINUX.ORG.RU

История изменений

Исправление MOPKOBKA, (текущая версия) :

А вот из файла как читать? в char[] буфер, а потом конвертировать.

С конвертацией, wchar_t непереносим между платформами. На Windows он 2 байта, на Linux он 4 байта. Файл может быть в UTF-16 BE/LE, или UTF-8. Так что только конвертация.

Или сразу исп. wide-функции в wchar_t[] буфер?

А fwread и не существует.

PS Теперь наверное мне придется переправить все свои файлы - заменить printf на wprintf, в т.ч. sprintf на swprintf.

Тут тебе виднее, не знаю что у тебя за программа.

Я бы просто отказался от поддержки старых версий Windows и Wine, если уж запускается и комплиируется нативно. Новые версии поддерживают UTF-8, и можно использовать пример с GNU libunistring, и не пользоваться wchar_t вовсе.

Исправление MOPKOBKA, :

А вот из файла как читать? в char[] буфер, а потом конвертировать.

С конвертацией, wchar_t непереносим между платформами. На Windows он 2 байта, на Linux он 4 байта. Файл может быть в UTF-16 BE/LE, или UTF-8. Так что только конвертация.

Или сразу исп. wide-функции в wchar_t[] буфер?

А fwread и не существует.

PS Теперь наверное мне придется переправить все свои файлы - заменить printf на wprintf, в т.ч. sprintf на swprintf.

Тут тебе виднее, не знаю что у тебя за программа.

Я бы просто отказался от поддержки старых версий Windows и Wine, если уж запускается и комплиируется нативно. Новые версии поддерживают UTF-8, и можно использовать пример с libunistring.

Исходная версия MOPKOBKA, :

А вот из файла как читать? в char[] буфер, а потом конвертировать.

С конвертацией, wchar_t непереносим между платформами. На Windows он 2 байта, на Linux он 4 байта. Файл может быть в UTF-16 BE/LE, или UTF-8. Так что только конвертация.

Или сразу исп. wide-функции в wchar_t[] буфер?

А fwread и не существует.

PS Теперь наверное мне придется переправить все свои файлы - заменить printf на wprintf, в т.ч. sprintf на swprintf.

Тут тебе виднее, не знаю что у тебя за программа. Я бы просто отказался от поддержки старых версий Windows и Wine, если уж запускается и комплиируется нативно.