Это потому, что toLatin1 () возвращает объект QByteArray. Поскольку он на самом деле не связан с переменной, он является временным, который уничтожается в конце выражения. Таким образом, вызов data () здесь возвращает указатель на внутреннюю структуру, которая больше не существует после ';'.
жный дубликат:
QString в преобразование символов
У меня есть функция (fopen в STL), которая дает аргумент char * в качестве пути на моем компьютере, но я должен использовать QString в этом месте, чтобы он не работал.
Как я могу преобразовать QString в char *, чтобы решить эту проблему?