文件在遇到宽字符后被截断
尝试将一些宽字符写入文件时,所有到文件的输出都会在这些字符之后停止。我不知道发生了什么事。
wofstream file("c:\\test.txt");
file << L"seen" << L"您好" << "unseen";
While trying to write some wide characters to a file, all output to the file stops after those characters. I don't know what's going on.
wofstream file("c:\\test.txt");
file << L"seen" << L"您好" << "unseen";
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
源代码中的非 ASCII 字符以实现定义的方式进行解析。使用十六进制序列或较新的(c99 或 C++11 之后)unicode 字符文字,并使用它们的 UTF-8/16/32 代码点表示形式。
这是实现定义的行为,因此除非您完全确定编译器会执行您期望的操作,否则不要这样做。
Non-ASCII characters in source code are parsed in an implementation defined way. Use either hex sequences or the newer (post-c99 or C++11) unicode character literals and use their UTF-8/16/32 codepoint representations.
This is implementation defined behavior, so unless you are absolutely sure you compiler does what you expect, don't do this.