2010-08-14 20 views
5

J'essaie d'ouvrir le fichier et d'y écrire des données de texte.QFichier ouvert pour l'écriture échoue

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

Mais cela échoue avec "Erreur inconnue". (Qt 4.6, Wnidows XP SP3)

+0

Si vous voulez juste écrire, utilisez WriteOnly. (Mais cela ne fonctionnera pas pour les fichiers de ressources de toute façon, comme l'a expliqué Roku). –

Répondre

8

« : /test.txt » est un nom d'un resource file intégré à l'exécutable et vous ne pouvez pas écrire. Changez le nom du fichier par exemple en "C: /test.txt".

+0

Quelques informations également sur [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

Le problème est dans cette ligne:

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

Le chemin du fichier est incorrect. Pour créer le fichier dans le même répertoire que l'exécutable, essayez-le de la façon suivante:

QFichier ("./test.txt");

Edit: l'orthographe

+1

Ce ne serait pas le même répertoire que l'exécutable, mais le répertoire de travail. –

1

Vous devez changer votre argument constructeur QFile

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

à un bon chemin qui pourrait être

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

ou

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