Как читать на иврите буквы в Visual Studios C ++ - PullRequest
0 голосов
/ 28 мая 2018

Я пытаюсь прочитать текстовый файл на иврите, внести некоторые изменения, а затем отправить его в другой текстовый файл.Я успешно отображал ивритские буквы с использованием UTF8, но я не могу их прочитать. Этот код успешно выводит ивритские буквы в текстовый файл, на который он был перенаправлен, но когда я пытаюсь читать на иврите сдругой текстовый файл (который был перенаправлен в) я получаю случайный мусор.Как мне это исправить?

#include <iostream>
#include <string>
#include <fcntl.h>
#include <io.h>
#include <fstream>
using namespace std;

int main() {
    _setmode(_fileno(stdout), _O_U8TEXT);
    wprintf(L"\x05D0");//works with courier new in terminal
    wchar_t example[] = L"א";
    wcout << endl << example << endl;
    wstring x;
    getline(wcin, x);
    wcout << x;
    return 0;
}

Вывод

א
א
×××× ×©××ת ×× × ×שר×× ××××× ×צר××× ×ת ××¢×§× ××ש ××××ª× ××× â¬

1 Ответ

0 голосов
/ 29 мая 2018

Проблема выяснена.Это было почти то, что сказал Бармак Шемирани.Я помещаю в _setmode (_fileno (stdin), _O_U16TEXT);и изменил свой вывод на U16, а затем все еще получил мусор, затем я изменил их оба на U8, и я мог читать и читать отлично.

...