Как преобразовать const wchar * в const char * в Mac OS X? - PullRequest
0 голосов
/ 30 октября 2009

Есть ли элегантный способ конвертировать 'const wchar *' в 'const char *' в Mac OS X?

Kat

Ответы [ 2 ]

2 голосов
/ 30 октября 2009

Использование wcstombs:

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

Убедитесь, что ваш языковой стандарт установлен правильно.

0 голосов
/ 08 августа 2012

Трудно представить, почему можно использовать wchar_t в OS X, но вот как это можно сделать в стандартном 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();
}
...