设置QFIle保存目录
问题描述:
我有下面的代码创建一个文件并写入它。设置QFIle保存目录
QFile file(saveFilename);
file.open(QIODevice::WriteOnly);
QTextStream out(&file);
out << name + " - " + size + "\n";
file.close();
此文件将保存在哪里? 我有一个名为QString saveFileDirectory
的变量,我希望将文件保存在其中。
有关如何实现此目的的任何提示? 谢谢。
答
如果您只提供文件名,文件将被保存在当前工作目录中。为了将其保存到特定目录中,您必须提供QFile
对象的完整文件路径。例如:
QString fileName;
QString directoryName;
QString filePath = directoryName + '/' + fileName;
QFile file(filePath);
if (file.open(QIODevice::WriteOnly)) {
// Write the file content.
}
答
你可以像下面这样:
QFile file("c://directoryName/outfile.txt");
file.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream out(&file);
out << "This is an example of data\n";
// optional, as QFile destructor will already do it:
file.close();
或者
您也可以使用QFileDialog::getSaveFileName
使用保存对话框保存文件的数据。
+0
QIODevice :: Text实现了什么? – sark9012
+0
@Luke:'QIODevice :: Text':读取时,行结束符被翻译为'\ n'。写入时,行结束符会转换为本地编码,例如Win32的“\ r \ n”。 –
名为'saveFilename'将在当前工作目录下,除非你提供一个文件路径过于文件。 – vahancho
如何附加文件路径?这就是我想要达到的目标。 – sark9012
'saveFilename = saveFileDirectory +'/'+ saveFilename; QFile文件(saveFilename);' – vahancho