У меня есть этот кусок кода:
const char * c = &(4:); //This pointer contains "JPG" string
//Wide char conversion
wchar_t *cc = new wchar_t[128];
MultiByteToWideChar(CP_ACP, 0, c, -1, cc, wcslen(cc));
Затем я объявляю переменную wstring:
wstring sFilter;
sFilter.append(L"Format: ");
sFilter.append(cc);
sFilter.push_back('\0');
sFilter.append(L"*.");
sFilter.append(cc);
sFilter.push_back('\0');
sFilter.push_back('\0');
const wchar_t * extensionFilter = sFilter.c_str();
Я формирую этот wchar_t
, чтобы применить фильтр к GetOpenFileName
функции из WinApi: ofn.lpstrFilter = extensionString;
, которая является членом структуры.
Фильтр расширений случайным образом содержит: "3ormat: JPG" или ":ormat: JPG"...
Я не могу изменить проект на Unicode только потому, что среда IDE, над которой я работаю, не позволяет это делать. Поэтому мне нужно работать с этим.
&(4:)
? Это недействительный код. - person Remy Lebeau   schedule 10.12.2015&(4:)
и заменяет его допустимым значением. - person ProtectedVoid   schedule 10.12.2015