Здравствуйте, MAPCUAHUH, Вы писали:
MAP>Здраствуйте,
MAP> Как перевести из WCHAR* в char*?
Это смотря что у тебя по этому указателю хранится...
Ну предположим, что строка. Тогда так
1) MS-specific — WideCharToMultiByte
// начальные условия
WCHAR const* src_string;
UINT dst_codepage; // CP_ACP - дефолтное, CP_UTF8 и т.п.
DWORD const flags = 0; // читай документацию
int dst_length = WideCharToMultiByte(dst_codepage, flags, src_string, -1, NULL, 0, NULL, NULL); // получил размер
char* dst_string = new char[dst_length+1]; // выделил память своим любимым способом
WideCharToMultiByte(dst_codepage, flags, src_string, -1, dst_string, dst_length+1, NULL, NULL); // преобразовал
2) STD C — wcstombs + пляски с locale
wchar_t const* src_string;
size_t dst_length = wcstombs(NULL,src_string,0);
char* dst_string = new char[dst_length+1];
wcstombs(dst_string,src_string,0);
3) libiconv — iconv_open, iconv, iconv_close (см.
http://www.gnu.org/software/libiconv/)