我正在编写一个简单的程序。该程序有 2 个 QStrings 设置了以下变量:文件的路径和名称,还有一个第三个 QString,我稍后使用它来将前 2 个 QString 的附加结果放在一起。我想要做的是附加 2 QStrings 并将它们放在 appendAll QString 中,然后将 appendAll QString 发送到 QFile 变量构造函数。现在当我这样做时,它会打印“无法创建文件”,这是我使用的代码:
#include <QString>
#include <QTextStream>
#include <QFile>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextStream output(stdout);
QString location = "/home/mahmoud/Destkop";
QString name = "mahmoud.txt";
QString appendAll;
if( !location.endsWith("/") )
{
location.append("/");
}
appendAll = location.append(name);
output << appendAll << endl;
QFile myFile(appendAll);
if(myFile.open(QIODevice::WriteOnly | QIODevice::Text ))
{
output << "File Has Been Created" << endl;
}
else
{
output << "Failed to Create File" << endl;
}
QTextStream writeToFile(&myFile);
writeToFile << "Hello World" << endl;
myFile.close();
return a.exec();
}
但是,当我在打印的同一程序中将字符串直接键入 QFile 变量构造函数时,“文件已创建”并且我在桌面上找到它时,以下代码可以正常工作:
QFile myFile("/home/mahmoud/Desktop/mahmoud.txt");
if(myFile.open(QIODevice::WriteOnly | QIODevice::Text ))
{
output << "File Has Been Created" << endl;
}
else
{
output << "Failed to Create File" << endl;
}
我希望能够已经拥有 QStrings 并将它们附加并将它们发送到 QFile 变量构造函数,关于如何解决我的问题的任何建议?谢谢你