【发布时间】:2021-07-20 08:36:08
【问题描述】:
假设我有两个名为“App1”和“App2”的 C++ 应用程序。现在在 App1 中,我正在将数据写入一个名为“data.txt”的文件,而在 App2 中,我正在读取同一个文件“data.txt”的内容。
现在我要做的是同时运行这两个应用程序。如何同时打开两个位置的“data.txt”文件进行操作?
【问题讨论】:
标签: c++ file-handling
假设我有两个名为“App1”和“App2”的 C++ 应用程序。现在在 App1 中,我正在将数据写入一个名为“data.txt”的文件,而在 App2 中,我正在读取同一个文件“data.txt”的内容。
现在我要做的是同时运行这两个应用程序。如何同时打开两个位置的“data.txt”文件进行操作?
【问题讨论】:
标签: c++ file-handling
这似乎是一个经典的 XY 问题。你到底想做什么?文件是否只是为了让这些程序相互通信?在这种情况下,pipe(或者可能是套接字)似乎更合适。
如果还有更多事情要做,最好lock the file 让一个程序等待另一个程序完成其对该文件的任务。
【讨论】:
多进程或多线程访问文件是不好的。您可以考虑文件锁定或两个进程之间的通信。
【讨论】: