0

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

4

2 回答 2

2

使用wcstombs

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

确保您的语言环境设置正确。

于 2009-10-30T14:21:09.327 回答
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();
}
于 2012-08-07T20:21:08.907 回答