Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Юникодная CString в ASCII?


Автор: Glorious 1.4.2005, 11:46
Добрый день!

Имеется юникодная строка в CString. (VC++ 6.0). Как ее перегнать в обычную однобайтовую строку char *?
Используя WideCharToMultiByte, это конечно, можно. На подобие следующего:
Код

    CString data;
    int len = data.GetLength();
    char * st = new char [len + 1];
    WideCharToMultiByte(CP_ACP, NULL, data.GetBuffer(len), len, st, len + 1, NULL, NULL);

Но в книжке Дэвида Дж. Круглински (Программирование на VC++6.0 для профессионалов) есть фраза (привожу дословно)
"Хотя и существуют функции Win32 для преобразования между ANSI и Unicode, но, используя класс CString, для этого можно прибегнуть к помощи Unicode-коструктора и функции-члена AllocSysString".
Но я что-то не понимаю, как пользоваться сказанным Круглински...
Вопрос: как осуществить преобразование Unicode <---> ANSI не выходя из класса CString.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)