什么是Linux相当于:MultiByteToWideChar&调用WideCharToMultiByte?

时间:2010-07-18 19:56:32

标签: c++ windows linux unicode stdstring

我正在使用一个包装std :: wstring的类,这段代码需要跨平台,是否有与windows函数相同的功能:MultiByteToWideChar& Linux上的WideCharToMultiByte?

谢谢。

2 个答案:

答案 0 :(得分:15)

Linux等价物是iconv函数iconv_openiconviconv_close(例如man 3 iconv_open等文档)。对于跨平台应用程序,请使用ICU等专用库。这些库已经包含了自己的字符串类;没有必要包裹std::wstring

答案 1 :(得分:4)

mbtowcwctomb是最直接的等价物,但请注意它们对与当前LC_CTYPE区域设置相对应的多字节字符集进行操作(可以使用{{1}更改})。