【发布时间】:2012-12-28 18:17:58
【问题描述】:
我有将数据写入/读取文件的 c++ 程序(turbo c++ ver 3)。 当程序的多个实例运行并在特定执行点时,当程序的两个实例同时打开并写入文件时,会丢失一些信息
if(!filein)
不适合这种情况。我猜这是同步的问题
有什么方法可以在执行任何操作之前检查文件是否已打开
谢谢
【问题讨论】:
-
请发布更多代码。就像用于打开文件的代码一样。
-
你需要文件锁,标准库中没有实现。看到这个问题:stackoverflow.com/q/839856/1175253
-
您需要一个互斥锁来协调对文件的访问。您可以使用操作系统 API 吗?如果是这样,您的目标是什么平台?
-
@CareyGregory 它不是一个复杂的程序。我是一个绝对的初学者,我不知道你在说什么
-
@Sam 我正在使用 Turbo C++。我找不到任何 LockFileEx() 但有 lock();我可以用吗