社区
Qt
帖子详情
QFile flush不能及时刷新到文件,怎么回事?
RabinSong
2013-10-29 04:11:40
windows Qt应用程序
...全文
1411
3
打赏
收藏
QFile flush不能及时刷新到文件,怎么回事?
windows Qt应用程序
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
RabinSong
2013-10-31
打赏
举报
回复
另外还有一个情况,我每次在写进程写数据的时候,都调用flush方法, 读进程也不能及时读出写进程刚写的内容。
RabinSong
2013-10-31
打赏
举报
回复
是这样的,一个写进程,向文件A写数据,另一个读进程,从文件A中读数据。 写进程每1秒钟会向文件A写若干数据,这些数据的写位置会有变化,比如上一个写的位置可能是1000, 下一个写位置是3000,再下一个可能会跳到1100处写,这些写的时候,不调用flush方法。 只有等到读进程要读的时候,读进程通知写进程,写进程才会flush之前的数据,写进程flush完成后,通知读进程可以读了, 但现在问题来了,发现刚刚在写进程写的东西,调用flush后,在读进程不能读出刚刚写的内容?
KeequenLiu
2013-10-31
打赏
举报
回复
flush方法,是把内存中的数据保存至文件中。 能不能描述清楚一点
Q
File
总结
void Q
File
::
flush
() [虚]
刷新
文件
缓存到磁盘。close() 也
刷新
文件
缓存。
Qt入门教程【
文件
操作篇】Q
File
文件
处理对象
Q
File
文件
处理对象
QT的Q
File
类的使用
详细说明 Q
File
类提供用于读取和写入
文件
的接口。 Q
File
是用于读取和写入文本以及二进制
文件
和资源的I / O设备。 Q
File
可以单独使用,或者更方便地与QTextStream或QDataStream一起使用。
文件
名通常在构造函数中传递,但是可以随时使用set
File
Name()进行设置。 Q
File
希望
文件
分隔符为’/’,而不管操作系统是什么。不支持使用其他分隔符(例如’’)。 您可以使用exist()检查
文件
是否存在,并使用remove()删除
文件
。 (与更高级的
文件
系统相关的操作由Q
File
Q
File
详解
1、Q
File
::Q
File
() 构造一个没有名字的Q
File
对象 2、Q
File
::Q
File
(const QString&name) 构造一个以name为
文件
名的Q
File
对象。 注:也可以Q
File
::Q
File
(),然后调用setName()方法来实现类似动作。
98-数据读写和
文件
管理-数据读写基本类-
文件
Q
File
然而,在这种情况下,您
不能
使用atEnd()来确定是否有更多的数据要读取(因为对于声称大小为0的
文件
,atEnd(()将返回true)。数据通常使用QDataStream或QTextStream进行读取和写入,但您也可以调用QIODevice-继承的函数read()、readLine()、readAll()、write()。例如 read(int)、readAlI()readLine()、getChar()、peek(int),write(QByteArray)或 putChar(str)。
Qt
21,503
社区成员
26,693
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章