我試圖打開文件並將一些文本數據寫入它。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