Как создать новый файл в Qt

Я начинаю Qt и просто застрял в этой проблеме. Я ищу файл SomePath/NewDirectoryA/NewFile.kml(NewFile.kml будет единственным файлом в NewDirectoryA, имея этот каталог для поддержки семантики в проекте).

Если SomePath/NewDirectoryA/NewFile.kml существует, я буду использовать его в своем коде, и если он не существует, я должен его создать. Если этот файл не существует, этот каталог также не существует в SomePath. Так что, если только я должен создать файл, я могу использовать QFile и открыть его в режиме ReadWrite или WriteOnly.

Но проблема в том, что я должен создать файл с самим каталогом. Я попытался с QFile с именем файла SomePath/NewDirectoryA/NewFile.kml, но он не сработал. Пожалуйста, предложите мне способ создания нового файла (NewFile.kml) в новом каталоге (NewDirectorA) в определенном месте (SomePath).

Ответы

Ответ 1

bool QFile:: open (режим OpenMode) [виртуальный]

[...]

Примечание. В режиме WriteOnly или ReadWrite, если соответствующий файл еще не существует, эта функция будет пытаться создайте новый файл перед его открытием.

Предостережение Qt для создания файла

Особые проблемы платформы

Разрешения для файлов обрабатываются по-разному в Unix-подобных системах и Окна. В незаписываемом каталоге в Unix-подобных системах файлы не может быть создан. Это не всегда происходит в Windows, где для Например, каталог "Мои документы" обычно не доступен для записи, но он все еще возможно создавать в нем файлы.

Каталоги создаются с помощью

BOOL QDir:: mkdir(const QString и dirName) const

Создает подкаталог, называемый Dirname.

и

bool QDir:: mkpath(const QString и dirPath) const

Создает путь к каталогу dirPath.

Функция создаст все родительские каталогов, необходимых для создания каталог.