Мне нужно сгенерировать строку UTF8 для передачи в стороннюю библиотеку, и у меня возникают проблемы с поиском правильной гимнастики ... Кроме того, что еще хуже, я застрял с использованием C ++ Builder 6 и каждого примеранашел разговоры об использовании std :: string, которые CBuilder6 явно не поддерживает.Я хотел бы достичь этого без использования STL.
Вот мой код, который, кажется, пока не работает.
wchar_t *SS1;
char *SS2;
SS1 = L"select * from mnemonics;";
int strsize = WideCharToMultiByte(CP_UTF8, 0, SS1, wcslen(SS1), NULL, 0, NULL, NULL);
SS2 = new char[strsize+1];
WideCharToMultiByte( CP_UTF8, 0, SS1, wcslen(SS1), SS2, strsize, NULL, NULL);
Дроссели сторонних библиотек приЯ передаю это SS2 в качестве параметра.Очевидно, что я на платформе Windows, использующей Microsoft WideCharToMultiByte, но в конечном итоге мне не нужно вызывать этот вызов функции, так как этот код также должен быть скомпилирован на встроенной платформе под Linux, но я перейду этот мост, когда доберусь до него.
На данный момент мне просто нужно иметь возможность преобразовать wchar_t или char в строку в кодировке UTF8, предпочтительно без использования STL.У меня не будет STL на встроенной платформе.
Спасибо!