2010-08-14 183 views
5

我试图打开文件并将一些文本数据写入它。QFile打开文件写入失败

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

但它失败并显示“未知错误”。 (Qt的4.6,Wnidows XP SP3)

+0

如果你只是想写,使用WriteOnly。 (但是,无论如何,这并不适用于资源文件,正如Roku解释的那样)。 – 2010-08-14 11:25:42

回答

8

“:/test.txt”是嵌入到可执行resource file的名字,你不能写它。将文件名更改为“C:/test.txt”。

+0

一些信息也在[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 2012-08-28 08:30:43

0

的问题是在这条线:

QFile时出( “:/ test.txt的”);

文件路径错误。要在可执行文件所在的同一目录中创建文件,请尝试以下方式:

QFile out(“./ test.txt”);

编辑:拼写

+1

这可能与可执行文件不同,但是工作目录。 – 2010-08-14 11:24:35

1

你需要改变你的一个QFile构造函数的参数

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

到正确的路径,可能是

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

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