#include <atlbase.h>
.........
USES_CONVERSION;
c = new char[str.GetLength() + 1];
strcpy(c, T2A(LPCTSTR(str)));
Нужен совет по поводу конвертации строк
Мне необходимо проконсультироваться у знающих людей по следующему вопросу.
Я пишу программу с юникодом. И у меня возникла проблема конвертации строк из CString в char*. Одни функции дают строки CString и их нужно использовать в других, у которых входные параметры char*.
Нашёл в нете следующий код для конвертирования:
Код:
Здесь c - переменная char*, а str - CString.
Этот код работает.
Мне конвертировать нужно будет много и часто.
Вот я и подумал, нельзя ли как-то по-проще?:confused:
Ведь если писать без юникода, то никаких проблем с конвертированием строк нет.
функцию сделай!!
#include <cstdio>
char c[100];
string str;
с = str.c_str;
Т.е. нужна функция обратная к MultiByteToWideChar?
Нах их конвертировать, ведь вся прога в юникоде?????
Если нужно просто использовать неюникодовые строки в проге, где по умолчанию CString-юникод, то можно просто использовать CStringA, или если наоборот - CStringW.