Qt (C++):QFile 成功创建文本文件但不写入

Posted

技术标签:

【中文标题】Qt (C++):QFile 成功创建文本文件但不写入【英文标题】:Qt (C++): QFile creates text file successfully but does not write to it 【发布时间】:2015-11-09 06:10:51 【问题描述】:

我有以下代码,我正在尝试写入文件。调用时,会在目录中创建文件并输入for-loopQVector<int> program 中的值也存在并且在 qDebug() 中可见。但是,在我关闭文件和窗口后,我检查了我电脑上的文件,它完全是空的。我查遍了 *** 和 Qt 论坛,还没有找到解决方案。

    QString save_file = "C:/Users/MARVIN/Documents/Saddleback College/2015/Fall/CS3A/Semester Project/Emulator/hello.txt";

    QFile file(save_file);

    if(file.open(QFile::WriteOnly))
    
        QTextStream out(&save_file);

        out << "hello" << endl;

        for(int i = 0; i < 100; i++)
        
            out << program[i] << endl;
            qDebug() << program[i] << endl;
        

        file.close();
        this->close();
    

【问题讨论】:

file.close() 之前尝试file.flush() @TheBadger file.flush() 返回 true 但不会更改文件输出。 【参考方案1】:

您的问题:

QTextStream out(&save_file);

应该是

QTextStream out(&file);

【讨论】:

... Derp,哈哈。这太明显了,我有点尴尬。时间一到,我会尽快接受你的答复。 @Jordan,让我重新运行和编辑了几次,直到我终于发现它,所以这是一个容易犯的错误

以上是关于Qt (C++):QFile 成功创建文本文件但不写入的主要内容,如果未能解决你的问题,请参考以下文章

Qt QFile文件读写

Qt - QFile类(翻译)

6.3.1 读写文本示例

Qt入门教程文件操作篇QFile文件处理对象

qt QFile点击按钮读取文件

delphi如何写文本文件