C++ 将文件写入Linux应用程序数据目录

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

我需要将文件写入我正在设计的应用程序的应用程序数据目录。我使用Qt在Ubuntu下开发。以下代码段显示了我的写入函数:

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()
返回的是什么?