我写文件有问题,问题是: 如果我写目录":/ Files / Scores.txt"它不会写任何东西,但它从同一目录中读取。 但如果我使用这个目录" D:/TicTacToe/TicTacToe/Scores.txt"它写和读,但我会把游戏给我的导师,路径不会相同,文件不会打开,任何想法?!
我的写代码:
void Write ( QString file)
{
QFile sfile(file);
if(!sfile.open(QFile::ReadOnly |QFile::Text))
{
return;
}
QTextStream in(&sfile);
QString lscores =sfile.readAll() ;
sfile.close();
if(!sfile.open(QFile::WriteOnly |QFile::Text))
{
return;
}
lscores=" "+Xscore+"\t"+" "+Oscore+"\n"+lscores;
QTextStream out(&sfile);
out <<lscores;
sfile.close();
}
答案 0 :(得分:0)
资源文件(放在.qrc文件中的文件)是只读的,正如MrEricSir所说。如果你想在你的应用程序中有一些配置/分数文件,你可以使用例如QApplication :: applicationDirPath()
QString settingsFile = QApplication::applicationDirPath() % QLatin1Literal("/scores.txt");
这样,您将始终拥有应用程序目录中文件的绝对路径。
您还可以使用QDesktopServices::storageLocation
和QDesktopServices::DataLocation
参数来获取应用的数据位置。