2010-06-11 36 views
15

Soy un principiante de Qt y acabo de atascarme con el problema. Estoy buscando un archivo SomePath/NewDirectoryA/NewFile.kml (NewFile.kml será el único archivo en NewDirectoryA, teniendo este directorio solo para mantener la semántica en el proyecto).Cómo crear un nuevo archivo en Qt

Si SomePath/NewDirectoryA/NewFile.kml existe entonces lo usaré en mi código y si no existe, entonces tengo que crearlo. Si este archivo no existe, este directorio tampoco existe en SomePath. Entonces, si solo tengo que crear un archivo, puedo usar QFile y abrirlo en modo ReadWrite o WriteOnly.

Pero el problema es que tengo que crear el archivo con el directorio. Intenté con QFile con el nombre de archivo SomePath/NewDirectoryA/NewFile.kml pero no funcionó. Sugiera una manera en la que pueda crear un archivo nuevo (NewFile.kml) en un nuevo directorio (NewDirectorA) en una ubicación determinada (SomePath).

Respuesta

33

bool QFile::open (modo OpenMode) [virtual]

[...]

Nota: En WriteOnly o modo ReadWrite, si el archivo de referencia no existen ya , este la función intentará crear un nuevo archivo antes de abrirlo.

salvedad de Qt para la creación de archivos

Platform Specific Issues

Los permisos de archivos se manejan de manera diferente en los sistemas Unix y de Windows. En un directorio no modificable en sistemas tipo Unix, no se pueden crear los archivos . Este no es siempre el caso en Windows, donde, para la instancia , el directorio 'Mis documentos' generalmente no se puede escribir, pero aún es posible crear archivos en él.

directorios se crean con

bool QDir::mkdir (QString & dirName) const

Crea un subdirectorio llamado dirName.

y

bool QDir::mkpath (QString & DirPath) const

Crea el DirPath ruta del directorio.

La función creará todos los directorios principales necesarios para crear el directorio .

+1

¿no puedo crear un archivo con todos los directorios principales necesarios? –

Cuestiones relacionadas