gpt4 book ai didi

c++ - 为什么我的 std::wofstream 写的是 ansi?

转载 作者:太空宇宙 更新时间:2023-11-04 12:26:09 26 4
gpt4 key购买 nike

我有宽字符串,我正在将它写入以 out|binary 模式打开的 wofstream。当我查看生成的文件时,它每隔一个字节就丢失了。

我原以为当我使用二进制编辑器在 Visual Studio 中打开文件时,我会看到每隔一个字节都为零,但我没有看到零。

你知道我错过了什么吗?

谢谢。


代码是这样的:

CAtlStringW data = L"some data";
wofstream stream("c:\hello.txt", ios_base:out|ios_base:binary);
stream.write( data.GetBuffer(), data.GetLength() );
stream.close();

最佳答案

查看页面底部的“社区内容”http://msdn.microsoft.com/en-us/library/f1d6b0fk(VS.80).aspx .简而言之,您必须使用 pubsetbuf() 为流使用基于 wchar_t 的内部缓冲区(而不是基于 char 的缓冲区)。

关于c++ - 为什么我的 std::wofstream 写的是 ansi?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2380307/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com