Поскольку я использую Qt, я использую Qt-way для получения папки временных папок Windows.Это работает, но потом кажется, что я не могу написать в эту папку.
Вот код:
const QStringList defaultFolders = QStandardPaths::standardLocations(QStandardPaths::TempLocation);
const QString tempFolder = defaultFolders.first();
const QString fileName = tempFolder + "/testFile.txt";
ofstream file(fileName.toLocal8Bit(), fstream::out);
const bool ok = file.is_open();
const QString msg = ok ? "Success" : "Failure";
QMessageBox::warning(this, fileName, msg);
Что я пробовал до сих пор
- Использование жестко заданного пути с "\\" вместо "/"
- Использование .toStdString (). C_str () вместо ".toLocal8bit ()
Примечания
- В пути есть выделенный символ.
- Пользователь Windows является администратором
- Я могу создать вручную /Удалите файлы в папке temp, но скомпилированное приложение не может.
- Я запускаю Windows 7 на виртуальной машине
- Работает нормально, если я использую старые функции C (fopen / fwrite/ fclose)
Кто-то имеет представление о том, что происходит не так?