有没有很好的教程,或者有人可以指导我完成使用QFile处理文件的过程?
我需要正确处理它们,提出适当的错误,并确保至少检查错误。

到目前为止,我一直在使用以下代码:

QFile f("/home/skamah/documents/myfile.txt");
if (!f.exists())
    QMessageBox("File error", "File doesn't exist.").show();
QTextStream in(&file);
QString content = in.readAll();

但是,我觉得这是读取文件的主要方式。从qt doc中,我发现有一种称为error()的方法,该方法根据给出的错误返回一个int值。
我应该用那个吗?
是否存在引发错误的约定?

最佳答案

Qt文档是最好的指南。如果您已经阅读过它,就会知道error()方法返回的是QFile::FileError值,而不是int。

对于每种方法(openread等),都有一种方法来确定它是否成功。方法文档中对此进行了描述。基本规则:如果要确保一切顺利,则需要在每次方法调用之后进行检查。确定出问题后,可以选择如何将其通知调用代码或用户,以及提供哪些其他信息。例如,您可以使用异常(exception)。

但是,QFile无法确定错误的真正原因。例如,由于磁盘上没有剩余空间,因此无法确定是否无法写入文件。而且Qt在内部不使用异常,因此您需要在每次调用后手动检查错误。

07-27 19:26