所以我有一個Qt程序,可以將文件保存在其他文件中。我在C:/目錄下保存了一些文件。當我在Windows資源管理器,cygwin或我的命令提示符下查找文件時,找不到該文件。我檢查了我的文件夾選項,看起來很好。儘管無法找到該文件,但當我需要在我的Qt程序中加載文件時,程序能夠找到該文件。只有我的程序能夠找到該文件,Windows不能。我以管理員身份登錄,但這可能與權限有關嗎?Qt,windows無法找到文件,Qt打開文件對話框可以
另外值得一提的是,當我將文件保存在c:/ users/me/Documents/folder /文件夾中時,我似乎沒有問題。打開文件
QString saveFileName = QFileDialog::getSaveFileName(this,"Select the file you wish to save to.","","");
QFile saveFile(saveFileName);
if(saveFile.open(QIODevice::WriteOnly))
{
QTextStream stream(&saveFile);
QString stringToSaveToFile;
stream << stringToSaveToFile;
saveFile.close();
}
else
{
QMessageBox::warning(this, "Error", "Cannot open file.");
}
代碼::用來保存文件
代碼
QString selectedFile = QFileDialog::getOpenFileName(this, "Select a .pro file.", "", tr("Profile file (*.pro);;All (*.*)"));
QString fileContents;
QFile file(selectedFile);
if (file.open(QIODevice::ReadOnly) | (QIODevice::Text))
{
QTextStream in(&file);
fileContents = in.readAll();
}
else
{
QMessageBox::warning(this, "Error", "Unable to open file.");
}
編輯:只是嘗試這樣在不同的計算機上。我的電腦有Windows 8,另一臺電腦有Windows XP。我無法在XP機器上覆制問題。
編輯:
我相信我已經找到了問題所在(http://answers.microsoft.com/en-us/windows/forum/windows_vista-files/windows-explorer-compatibility-files/5b377209-cfe4-4be6-959d-e1de4b8be16d),但我仍然試圖找出如何解決它。
我試圖保存到c:/目錄的文件實際上保存在C:/用戶名/用戶名/ AppData/Local/VirtualStore中。
有沒有辦法以某種方式重寫這個?
您是否檢查過它是否正確寫入c:\ - 換句話說,您是否在調試器下檢查和/或檢查錯誤代碼?你也應該發佈代碼 – Huy