Как получить const char * из QString

Я прочитал строку из файла XML с кодировкой UTF8. Я храню это значение в QString возразить и объединить его с некоторой другой информацией. В отладчике QtCreator я вижу, что QString содержит желаемое значение.

Мне нужно передать эту строку в другую библиотеку, которая принимает const char * аргумент. Как мне получить const char * пожалуйста? я пробовал toLocal8bit(), toLatin1(), toUtf8() все без удачи. Похоже, я что-то упустил …

5

Решение

Мне нужно передать эту строку в другую библиотеку, которая принимает const char
* аргумент Как мне получить const char *, пожалуйста? Я пытался toLocal8bit (), toLatin1 (), toUtf8 () все без удачи. Похоже, я
что-то упустил …

Потому что, если вы попробуете это, вы получите только QByteArray назад, в отличие от const char*, Вы могли бы использовать constData () метод на QByteArray Вы получили этот путь, и тогда у вас будет желаемый результат.

смешивание std::string а также QString не является необходимым, следовательно, лучше пройти через типы QT (QString -> QByteArray -> const char*) без представления std::string здесь.

Где вы используете toLocal8bit(), toLatin1() или же toUtf8() зависит от вашей кодировки, так что это вопрос, отличный от основного здесь. Они все вернут QByteArray тебе.

Примечание: вы должны избегать использования toAscii() хотя как это устарело в Qt 5 навсегда.

10

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]