аномалия корвентации QString в char* Linux
всем привет, есть библиотека которая является прослойкой между Qt библиотекой и питоном, она получает JSON и через калбек отправляет в питон
проблема в том что в некоторых случаях программа на Python падает, падает она через непонятную для меня аномалию, возможно кто-то может объяснить почему так происходит, и подскажет как это исправить
QJsonDocument doc; doc.setObject(json); QString dataToString(doc.toJson()); char* cString = dataToString.toUtf8().data(); PyObject* pyData = Py_BuildValue("s", cString);
дебаг ... показывает так приходят нормальные
а так выглядит проблемный
хотя если вывести в консоль этих символов нет на начале JSON
qDebug() << Q_FUNC_INFO << json;
а самое главное что если добавить вывод к консоль вот так, и именно в этом месте то все работает и в результате этой пробелмы нет
QString dataToString(doc.toJson()); char* cString = dataToString.toUtf8().data(); qDebug() << Q_FUNC_INFO << cString; PyObject* pyData = Py_BuildValue("s", cString);

We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Timeweb
Let me recommend you the excellent hosting on which EVILEG is located.
For many years, Timeweb has been proving his stability.
For projects on Django I recommend VDS hosting
View Hosting
Добрый день. А попробуйте так:
std::string str = my_qstring.toStdString();
const char* p = str.c_str();
спасибо так работает, а можете объяснить в чем разница?
вот так теже работает если указать, я просто не понимаю почему
А вот с объяснением будут проблемы :)
скажем так - мне не нравится преобразование в utf8, а затем этот полученный массив байтов переводить в чар. мало ли какие там спецсимволы.
Это рассуждения дилетанта, если что.