如何在Mac OS X上将'const wchar *'转换为'const char *'?

时间:2009-10-30 14:16:13

标签: macos char const wchar

在Mac OS X上有没有一种优雅的方法可以将'const wchar *'转换为'const char *'?

2 个答案:

答案 0 :(得分:2)

使用wcstombs

size_t wcstombs(char * dest,const wchar_t * src,size_t n);

确保正确设置了区域设置。

答案 1 :(得分:0)

很难想象为什么会在OS X上使用wchar_t,但是这里是如何在标准C ++中完成的:

#include <codecvt>

int main() {
    std::wstring_convert<std::codecvt_utf8<wchar_t>,wchar_t> convert;

    wchar_t const *ws = L"Steve Nash";
    std::string s = convert.to_bytes(ws);
    char const *cs = s.c_str();
}