サイズがstd::wstring
139,580,199 文字の があります。
デバッグのために、次のコードでファイルに出力しました。
std::wofstream f(L"C:\\some file.txt");
f << buffer;
f.close();
その後、文字列の末尾が欠落していることに気付きました。作成されるファイルのサイズは 109,592,584 バイトです (「ディスク上のサイズ」は 109,596,672 バイトです)。
バッファにヌル文字が含まれているかどうかも確認し、次のようにしました。
size_t pos = buffer.find(L'\0');
結果が期待されますstd::wstring::npos
が、それはです18446744073709551615
が、私の文字列には最後に null char がないので、おそらく問題ありません。
なぜすべての文字列がファイルに出力されていないのか、誰かが説明できますか?