История изменений
Исправление 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, если уж запускается и комплиируется нативно.