我有一个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
,但我的字符串最后没有空字符,所以可能没关系。
有人可以解释一下,为什么我没有将所有字符串都打印到文件中?