Как я могу прочитать текстовый файл, содержащий Unicode, в указатель wchar_t, используя wifstream?

Я пытаюсь прочитать символы Юникода из текстового файла в wchar_t массив указателей, используя wifstream. Вот фрагмент кода:

locale::global(std::locale("en_US.UTF-8"));
std::wifstream inputFile("gsmCharacterSet.txt", std::ifstream::binary | std::ifstream::ate);
int length = inputFile.tellg();
inputFile.seekg(0,inputFile.beg);
wchar_t *charArray = new wchar_t[length];
inputFile.read(charArray,length);

Это не работает. Возвращенная длина равна 252, что является правильным размером файла в байтах. Тем не менее, массив остается пустым.

Следующее условие возвращает правда:

if ( inputFile.peek() == std::wifstream::traits_type::eof() )
cout << "File is empty";

Я компилирую программу на Linux, используя g ++.
Что я делаю неправильно? Спасибо за помощь.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]