Может случиться, что причина не в том, что вы не нашли правильный каталог. Например, вы можете читать из файла (даже без абсолютного пути), но кажется, что вы не можете записать в него.
В этом случае может случиться так, что вы запрограммируете выходы до того, как запись будет завершена.
Если ваша программа использует цикл обработки событий (например, в приложении с графическим интерфейсом, например, QMainWindow
), это не проблема. Однако, если ваша программа завершает работу сразу после записи в файл, вы должны очистить поток текста, закрывая файл не всегда достаточно (и это не нужно, так как он закрыт в деструкторе).
stream << "something" << endl;
stream.flush();
Это гарантирует, что изменения будут зафиксированы в файле до того, как программа продолжит выполнение этой инструкции.
Кажется, проблема в том, что QFile уничтожается перед QTextStream. Таким образом, даже если поток очищается в деструкторе QTextStream, уже слишком поздно, поскольку файл уже закрыт.