1

wifstreamを使用して、Unicode 文字をテキスト ファイルからwchar_tポインター配列に読み込もうとしています。コード スニペットを次に示します。

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 で、これは正しいファイル サイズ (バイト単位) です。ただし、配列は空のままです。

次の条件はtrueを返します。

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

g ++を使用してLinuxでプログラムをコンパイルしています。私は何を間違っていますか?助けてくれてありがとう。

4

0 に答える 0