如果文件正在使用,请检查C / C ++的方法?

时间:2013-07-18 19:54:58

标签: c++ c file concurrency concurrent-programming

有没有办法检查文件是否在C / C ++中使用?或者我是否必须始终实现锁定/信号量以防止多个线程/进程同时访问任何文件?

如果我们考虑Linux,以及以下场景:我想使用预定义的通信框架,以块的形式将存储在设备A中的文件的内容通过RS-232通信传输到另一个设备B.当请求进行此传输时,我想验证文件是否未被设备A中的任何进程使用,然后发送“准备传输:确定”响应,之后我将开始读取并以块的形式传输数据。 有没有办法检查文件是否已经在使用而不对所述文件执行fopen / fclose?

1 个答案:

答案 0 :(得分:0)

实际上

fopen();

是找到这个的最好方法。

在接收端执行fopen(),如果成功,则发送“OK to receive”消息。