能否同时操作同一个文件

xiejingking 2005-04-06 10:08:31
情况如下:一个程序将一些数据写入一个文件,同时另一个程序从里面读这些数据。他们是同时操作的,请问,能否对一个文件分别打开,同时输入,读出。如果不行的话,如何实现这种功能。谢谢大家。
...全文
217 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiejingking 2005-04-13
  • 打赏
  • 举报
回复
那么比如说操作的是一个缓存的话,如何实现一边往缓存中输入数据,同时把它里面的东西读出来啊。往Buffer后面写,从前面读。
「已注销」 2005-04-13
  • 打赏
  • 举报
回复
我知道在window编程中不能用,同一程序同时打开两次同一文件
就是怕文件出错了,
再咋们使用软件过程中的思路可以参考:
比用photoshop打开一个图片,修改他:同时用图片查看器浏览,
还可以用别的软件操作他
看看,用不同的操作组合回产生什么结果,
这个实验可以提供一些借鉴,而且可操作和可视性强
xjp6688 2005-04-11
  • 打赏
  • 举报
回复
找一些关于并发操作的经典算法看看
xjp6688 2005-04-11
  • 打赏
  • 举报
回复
并发?
dot99 2005-04-11
  • 打赏
  • 举报
回复
COPY_ON_WRITE
ckc 2005-04-11
  • 打赏
  • 举报
回复
当然可以,用共享打开就OK了
想想dbf文件,以前还不是有人用这个开发多用户系统,同时N个人读写dbf文件
当然,出错的几率是大大地
建议你别用这个方法,想办法别让他们同时读写
比如,把数据放到数据库里
xiejingking 2005-04-11
  • 打赏
  • 举报
回复
那怎么能实现这种情况呢,谢谢上面的。
bluebroad 2005-04-09
  • 打赏
  • 举报
回复
对于文件的写指针,在关闭之前,数据可能没被写回文件,即还留在缓冲区,此时读指针就读不到刚写入的数据。
xiejingking 2005-04-09
  • 打赏
  • 举报
回复
感谢各位回答:具体情况是这样的,我在主线程中要调用一个可执行程序,该程序中会输出一个文件,在主线程中根据这个文件中的内容来进行操作,这就涉及到有可能一个在写,一个在读的问题。可执行程序无法改变,怎么完成啊。如果我打开一个文件付给一个指针,再同时打开这个文件付给另一个指针,会有什么结果呢。
cppprogramlover 2005-04-07
  • 打赏
  • 举报
回复
楼主估计不是问进程的同步问题吧,如果只是单线程你也作不到啊,如果你是说两个进程,都是把文件打开到缓冲区,那个由你不同的进程控制了(自己解决同步问题)
不过楼主好象没有那个必要,除非是想设计一个同步方法
arrowcy 2005-04-06
  • 打赏
  • 举报
回复
如果真有这样的需求,不如直接在两者之间使用进程间通信的方法,比如说使用共享内存区域
softbugg 2005-04-06
  • 打赏
  • 举报
回复
有这个必要吗??
zeronecpp 2005-04-06
  • 打赏
  • 举报
回复
互斥,读者--写者问题,相关的问题可以在任何一本操作系统的书上找到。

我觉得怎样实现还要看你的程序具体要实现怎样的功能,反正同时去读和存是不行的。
sasdaa 2005-04-06
  • 打赏
  • 举报
回复
同时操作应该会出错把。

试试让两个程序同步访问!
pcboyxhy 2005-04-06
  • 打赏
  • 举报
回复
最好关闭再打开
有缓冲问题

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧