【发布时间】:2009-12-21 11:03:44
【问题描述】:
将 std::wstring 转换为 std::string 的最简洁方法是什么?我过去使用过 W2A 等宏,但我从未喜欢过它们。
【问题讨论】:
-
这取决于您想要进行哪种转换。很明显,ASCII中存在的字符可以很容易地缩小范围,但是
char使用的字符集中不存在的字符呢?或者哪些有不同的编码?你在乎那些吗?基本上,您想要正确 转换,还是只需要适用于英文字符的转换? -
在这种特殊情况下,可以安全地假设所有读取的字符都是窄格式。我正在读取一个只包含窄字符的文件,但是我试图通过返回宽字符串的接口返回此信息。但是,更多案例的完整答案将非常有用。
-
另外,当我写出他的文件时,我必须将我的 wstrings 变成窄字符。在这种情况下,我可能不得不选择通用的方形显示字符。