У меня проблемы с обработкой unicode-конверсий.C++ Unicode Issue
Следующий код выводит это в мой текстовый файл. ПРИВЕТ ?? O
std::string test = "HELLO";
std::string output;
int len = WideCharToMultiByte(CP_OEMCP, 0, (LPCWSTR)test.c_str(), -1, NULL, 0, NULL, NULL);
char *buf = new char[len];
int len2 = WideCharToMultiByte(CP_OEMCP, 0, (LPCWSTR)test.c_str(), -1, buf, len, NULL, NULL);
output = buf;
std::wofstream outfile5("C:\\temp\\log11.txt");
outfile5 << test.c_str();
outfile5 << output.c_str();
outfile5.close();
Но как вы можете видеть, выход только преобразование юникода из тестовых переменных. Как это возможно?
Вы пытаетесь понять, почему это не работает, когда вы говорите компилятору: «Поверьте мне, я знаю, что это LPCWSTR». когда это не так? – chris
Ваш комментарий и ссылка помогли мне понять это. Как вы думаете, вы можете помочь мне в решении связанной проблемы? http://stackoverflow.com/questions/15078661/trouble-getting-footage-path-after-effects-sdk – jacobsgriffith
Прочитайте раздел Windows Unicode в http://utf8everywhere.org. –