gpt4 book ai didi

c++ - QFile/QTextStream 在写入删除文件时不显示错误

转载 作者:行者123 更新时间:2023-11-28 07:23:06 36 4
gpt4 key购买 nike

我正在使用 QTextStream 写入 QFile,一切正常。我正在尝试创建一些错误检测,因此我尝试删除写入之间的输出文件。

扼杀,Qtextstream的状态继续显示0(无错误),QFile的error方法返回0。然而文件不见了,写入的文本正在丢失……不见了

这是怎么回事?如何检测写入失败?我是不是看错了方法?

最佳答案

不确定 Windows,但在 Linux 和大多数 Unix 类型的系统上,从操作系统的角度来看,您描述的情况根本不是错误 - 继续写入已删除的文件是完全合法的(并且它“有效”,数据仍然被混洗到文件系统/从文件系统洗牌 - 这个文件仍然存在于文件系统中,直到它的最后一个句柄被关闭)。

(我相信在 Windows 上,如果您尝试删除正在使用的文件,至少如果它是使用默认打开模式打开的,您会收到错误消息 - 虽然不是 100% 确定。)

如果您需要检查“文件已删除”,您需要自己编写这些检查。

关于c++ - QFile/QTextStream 在写入删除文件时不显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19150830/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com