我试图打开文件并将一些文本数据写入它。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)
我试图打开文件并将一些文本数据写入它。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)
“:/test.txt”是嵌入到可执行resource file的名字,你不能写它。将文件名更改为“C:/test.txt”。
一些信息也在[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
的问题是在这条线:
QFile时出( “:/ test.txt的”);
文件路径错误。要在可执行文件所在的同一目录中创建文件,请尝试以下方式:
QFile out(“./ test.txt”);
编辑:拼写
这可能与可执行文件不同,但是工作目录。 – 2010-08-14 11:24:35
你需要改变你的一个QFile构造函数的参数
QFile out(":/test.txt");
到正确的路径,可能是
QFile out("./test.txt");
或
QFile out("C:/test.txt");
如果你只是想写,使用WriteOnly。 (但是,无论如何,这并不适用于资源文件,正如Roku解释的那样)。 – 2010-08-14 11:25:42