


Сохрание файла с кодировкой utf-8 (WIN API CreateFile, Qt5, C++)
Всем привет!
(Qt 5, C++, Win API)
Короче: сохраняю в файл wstring (через WIN API WriteFile, асинхронный ввод) , потом читаю из файла массивом wchar_t.
Проблема: записывается всё хорошо, а вот считывается фигня. Но если поменять кодировку в файле на utf-8, то всё корректно считается.
wchar_t n[num];
ReadFile(hFileb,
&n,
sizeof(n),
&dwBytesRead,
&ovl);
Вопрос: как сохранять файл в utf-8, а не в asci? (пытался юзать QTextCodec, но не заработало/не разобрался)
пишу курсач и повсеместное использование Win API - это одно из требований к проекту
Во-первых, непонятно, как вы меняете кодировку файла (сторонней программой?) , какая при этом изначально указана в этой программе кодировка файла.
Во-вторых, если записывать вчар_т (тупые ответы не дают писать на английском) , то файл будет в кодировке ЮНИКОД (а не АСКИИ) .
В-третьих, для адекватного ответа нужно привести фрагмент кода с открытием/записью/закрытием файла, затем открытием/чтением/закрытием файла без асинхронности (для простоты - т. к. это вряд ли проблема в этом) , а также объявлением и инициализацией всех буферов вчар_т или встринг.
Наконец, чтобы записать в УТФ8 можно в неё сконвертить встринг через ВайдЧарТуМультиБайт (но это вряд ли поможет в данном случае).
а, извиняюсь, зачем, используя Qt ты пользуешься какими-то виндовыми апишными функциями ?