Есть текстовый файл в котором хранится ссылка к примеру (https://ru.stackoverflow.com) какая там ссылка неизвестна. Я считываю ссылку из файла и записываю её в переменную line.
string line;
ifstream writeT("test.txt");
writeT.is_open();
getline(writeT, line);
Далее мне нужно как то присвоить значение переменной line в WCHAR, я знаю как присвоить текст L"sometext". Как можно присвоить WCHAR webAddress[256] значение переменной line не зная ссылку?
WCHAR webAddress[256] = ;
HRESULT hr = URLDownloadToFile(NULL, webAddress, szFileName, 0, NULL);
Если там действительно ссылка, то там набор символов ASCII, и можно просто написать
std::wstring wline(line.begin(), line.end());
Предложенный до меня ответ подходит только для ASCII строк. Я рассмотрю общий случай, когда входная строка содержит не только ASCII-символы, но и, к примеру, кириллицу.
Предположим, у вас входной файл в кодировке UTF-8. Вам нужно конвертировать строку в кодировку UTF-16, понятную функциям WinAPI. Это можно сделать с помощью WinAPI функции MultiByteToWideChar:
std::string line;
// ... пропущено
WCHAR webAddress[256];
if (MultiByteToWideChar(CP_UTF8, 0, line.c_str(), line.size() + 1, webAddress, 256)) {
HRESULT hr = URLDownloadToFileW(NULL, webAddress, szFileName, 0, NULL);
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть код простой небольшой демки на C++В ней реализовывается механика "ходить, ставить блоки, убирать блоки"
Проблема заключается в том, что в разных местах программы функции, работающие со QString, ведут себя по-разному в отношении обработки кириллицыЭто...