首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

如何实现,写文件时候,要么一次写完,要么什么都不写

2013-08-04 
怎么实现,写文件时候,要么一次写完,要么什么都不写。怎么实现,写文件时候,要么一次写完,要么什么都不写。[解

怎么实现,写文件时候,要么一次写完,要么什么都不写。
怎么实现,写文件时候,要么一次写完,要么什么都不写。
[解决办法]
fflush吗
没有理解楼主意思, 类似数据库的事务吗?
如果怕多个线程同时写, 那可以加锁.
[解决办法]
可以先搞个缓存,先存起来,然后要写的时候在把缓存一次性写进去。
[解决办法]
我是建个字符串流往里面写数据,最后重定向输出到文件
[解决办法]

引用:
Quote: 引用:

fflush吗
没有理解楼主意思, 类似数据库的事务吗?
如果怕多个线程同时写, 那可以加锁.

写文件的时候,害怕出现类似关闭对话框的事件,就是类似事务,宁可保证有文件,但是不要让数据乱


那为什么不加读写锁呢?

[解决办法]
一个bool变量控制就可以了
[解决办法]
新建一个文件,新数据写到新文件里,即可,如果写文件完成,删除旧文件,然后改名;

MFC类库里,文档视图模式,采用的是镜像文件的办法,需要时直接交换正打开的在文件,的文件名 。

可以直接查看MFC的源代码,借鉴一下。

[解决办法]
如果,认为先删除会出问题,把旧文件另存为,备份文件即可。

[解决办法]
在非正常写完的逻辑中清空文件就行了
[解决办法]
正常的做法是,再写个标记文件,每次打开时做完整校验
[解决办法]
先写个临时文件。待验证一致后。重命名。
[解决办法]
引用:
Quote: 引用:

fflush吗
没有理解楼主意思, 类似数据库的事务吗?
如果怕多个线程同时写, 那可以加锁.

写文件的时候,害怕出现类似关闭对话框的事件,就是类似事务,宁可保证有文件,但是不要让数据乱

1.如果此时关闭对话框要有提示正在写文件,不能关闭对话框。
2.或者如果此时关闭对话框,不提示,但程序要等待写文件的进程结束才可以半闭对话框。
3.写文件与对话框用不同的进程,即使对话框关闭了,文件仍然可以继续写完。

[解决办法]
ofstream out("out.txt");


for (int i=0;i<10;i++)
{
out<<"hello \n";
}
//out.close()  这句不写就行了

热点排行