我正在尝试使用 QT 打开一个文件并写入它:
void fileClass::saver(QList<ToDo *> t, QList<appointment *> a, QString fileName)
{
fileName.append(".mca");
file = new QFile(fileName);
if( !file->open(stdin,QIODevice::WriteOnly))
qDebug() << "Could not create file " << fileName << endl;
for (int i = 0; i < t.count(); i++)
{
file->write(t[i]->ShowDate().toString().toAscii().constData(), qstrlen(t[i]->ShowDate().toString().toAscii().constData()));
file->write(t[i]->ShowDescription().toAscii().constData(), qstrlen(t[i]->ShowDescription().toAscii().constData()));
file->write(t[i]->ShowStart().toString().toAscii().constData(), qstrlen(t[i]->ShowStart().toString().toAscii().constData()));
file->write(t[i]->ShowTitle().toAscii().constData(), qstrlen(t[i]->ShowTitle().toAscii().constData()));
file->write(t[i]->ShowWarning().toString().toAscii().constData(), qstrlen(t[i]->ShowWarning().toString().toAscii().constData()));
file->write(t[i]->ShowWarningTime().toString().toAscii().constData(), qstrlen(t[i]->ShowWarningTime().toString().toAscii().constData()));
switch (t[i]->ShowPriority())
{
case (VERY_HIGH):
file->write("0\0");
break;
case (HIGH):
file->write("1\0");
break;
case (NORMAL):
file->write("2\0");
break;
case (LOW):
file->write("3\0");
break;
case (VERY_LOW):
file->write("4\0");
break;
}
switch (t[i]->ShowState())
{
case (STILL_BEGIN):
file->write("0\0");
break;
case (BEGUN):
file->write("1\0");
break;
case (ALMOST_DONE):
file->write("2\0");
break;
case (DONE):
file->write("3\0");
break;
}
}
file->write("----------------------------------------------------------");
for(int i =0; i<a.count(); i++)
{
file->write(a[i]->ShowDate().toString().toAscii().constData(), qstrlen(a[i]->ShowDate().toString().toAscii().constData()));
file->write(a[i]->ShowDescription().toAscii().constData(), qstrlen(a[i]->ShowDescription().toAscii().constData()));
file->write(a[i]->ShowEnd().toString().toAscii().constData(), qstrlen(a[i]->ShowEnd().toString().toAscii().constData()));
file->write(a[i]->ShowReminder().toString().toAscii().constData(), qstrlen(a[i]->ShowReminder().toString().toAscii().constData()));
file->write(a[i]->ShowStart().toString().toAscii().constData(), qstrlen(a[i]->ShowStart().toString().toAscii().constData()));
file->write(a[i]->ShowTitle().toAscii().constData(), qstrlen(a[i]->ShowTitle().toAscii().constData()));
}
file->close();
}
但是文件没有以某种方式创建?知道为什么吗?我制作了自己的扩展名 .mca ...
文件名正确传递,没有任何问题......并且没有显示调试,所以理论上它应该可以工作,但在我的文件夹中找不到文件......提前致谢