gpt4 book ai didi

c++ - 从 2 个进程读取/写入相同的文件

转载 作者:行者123 更新时间:2023-11-30 04:05:10 24 4
gpt4 key购买 nike

我有一个关于读取文本文件的问题。考虑一下我正在读取一个文本日志文件,该文件正在由其他进程连续写入。如果另一个进程试图在我读取文件的同时写入文件,会发生什么情况。我的程序会崩溃吗? (我以只读模式打开文件)

如果上述情况导致崩溃,“tail -f”命令如何工作?

每次尝试读取时都锁定文件是一个好的解决方案吗?

实际上我有一个使用wxTextFile 类来读取的程序。默认情况下,wxTextFile 在 read/write 模式下打开文件,在某些情况下,我的程序崩溃了。那么,如果我使用一些C函数,以只读模式打开文件,是否保证程序不会崩溃(有时读取一些乱码也可以)。

最佳答案

你的问题有点/有点完全依赖于系统。首先,您需要一个允许多个读者/单个作者的系统。大多数系统都支持这一点,因此这在很大程度上是一个理论上的障碍。

那么让我们假设您可以做到这一点。

您可以打开文件进行阅读。其他一些进程已将其打开以进行写入。

如果您尝试在别人写作的同时阅读,那完全没问题。唯一的问题是,如果您正在尝试读取作者正在同时写入的 block 。因此,您获得的数据是不可预测的,但您应该能够读取。

简而言之,同时读取和写入本身不会导致程序崩溃。

关于c++ - 从 2 个进程读取/写入相同的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23420701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com