C++ 将文件写入Linux应用程序数据目录
我需要将文件写入我正在设计的应用程序的应用程序数据目录。我使用Qt在Ubuntu下开发。以下代码段显示了我的写入函数:C++ 将文件写入Linux应用程序数据目录,c++,qt,file,ubuntu,C++,Qt,File,Ubuntu,我需要将文件写入我正在设计的应用程序的应用程序数据目录。我使用Qt在Ubuntu下开发。以下代码段显示了我的写入函数: FileOperations::Error FileOperations::saveUsage(SensorIdentification sensorID, QList<UsageListModel::Usage> &usageList) { QString fileName(QStandardPaths::writableLocation(QSta
FileOperations::Error FileOperations::saveUsage(SensorIdentification sensorID, QList<UsageListModel::Usage> &usageList)
{
QString fileName(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation));
fileName.append("/");
fileName.append("testnaam");
fileName.append(FILE_EXTENSION);
this->sensorID = sensorID;
QFile file(fileName);
if(!file.open(QIODevice::WriteOnly))
{
return Error::FileNotOpen;
}
QDataStream out(&file);
out << sensorID;
for(int i = 0; i < usageList.size(); i++)
out << usageList.at(i).date << usageList.at(i).totalSteps << usageList.at(i).wearTime;
if(file.size())
{
file.close();
return Error::NoError;
}
else
{
file.close();
return Error::WritingToFileFailed;
}
}
FileOperations::Error FileOperations::saveUsage(SensorIdentification sensorID、QList和usageList)
{
QString文件名(QStandardPath::writableLocation(QStandardPath::AppDataLocation));
fileName.append(“/”);
追加(“testnaam”);
文件名.append(文件扩展名);
此->传感器ID=传感器ID;
QFile文件(文件名);
如果(!file.open(QIODevice::WriteOnly))
{
返回错误::FileNotOpen;
}
QDataStream out(文件(&F);
该目录是否存在?QFile不会创建缺少的目录是的,该目录存在。我还对该目录进行了如下标记:u=rwalso:define“not write”-您的函数报告了哪一个错误,等等。或者它完成时没有错误,但文件是空的等等。它返回错误::FileNotOpen。很抱歉没有说明file.errorString()
返回的是什么?