我正在尝试使用std :: ofstream()编写UTF-16编码文件.即使在二进制模式下写入"\n\0"也是如此"\r\n\0".示例代码:
std::string filename = ...
std::ofstream fout(filename, std::ios_base::binary);
fout.write("\xff\xfe", 2);
fout.write("\n\0", 2);
fout.close();
Run Code Online (Sandbox Code Playgroud)
生成的文件的十六进制数据是:
ff fe 0d 0a 00
Run Code Online (Sandbox Code Playgroud)
我一定做错了什么.有什么想法阻止写入0x0d?
我正在使用MS VisualStudio 2013.
更新:莫名其妙地开始按预期工作.把它归结为机器中的幽灵.