2010-08-14 14 views
5

Estoy tratando de abrir el archivo y escribir algunos datos de texto en él.QFile abrir archivo para escritura falla

QFile out(":/test.txt"); 
if (!out.open(QIODevice::ReadWrite)) { 
    QMessageBox msgBox; 
    msgBox.setText(out.errorString()); 
    msgBox.exec(); 
    return; 
} 

Pero falla con "Error desconocido". (Qt 4.6, Wnidows XP SP3)

+0

Si solo quieres escribir, usa WriteOnly. (Pero eso no funcionará para los archivos de recursos de todos modos, como explicó Roku). –

Respuesta

8

": /test.txt" es un nombre de un resource file incorporado al ejecutable y no se puede escribir en él. Cambie el nombre del archivo, por ejemplo, a "C: /test.txt".

+0

Alguna información también en [http://www.developer.nokia.com/Community/Wiki/How_to_write_data_to_a_file_in_Qt](http://www.developer.nokia.com/Community/Wiki/How_to_write_data_to_a_file_in_Qt). – meolic

0

El problema es en esta línea:

QFile a cabo (":/test.txt");

La ruta del archivo es incorrecta. Para crear el archivo en el mismo directorio que el ejecutable, pruébelo de esta manera:

QFile out ("./ test.txt");

Editar: ortografía

+1

Ese no sería el mismo directorio que el ejecutable, sino el directorio de trabajo. –

1

necesita cambiar su argumento del constructor QFile

QFile out(":/test.txt");

a un camino correcto que podría ser

QFile out("./test.txt");

o

QFile out("C:/test.txt");

Cuestiones relacionadas