gpt4 book ai didi

c - 如何限制 C 中另一个进程或函数使用(写/读)文件的访问?

转载 作者:行者123 更新时间:2023-11-30 16:12:36 25 4
gpt4 key购买 nike

我目前在更新 C 语言文件中写入的数据时遇到问题。我在循环中创建了一个名为 preview_data() 的函数,该函数可以预览 INFOS.DAT 中写入的所有文件不断地。我还创建了一个名为 update_data() 的函数,如果有新数据可用,它会修改 INFOS.DAT。我使用 fwrite()fread() 来修改文件。

但是,我注意到 update_data() 所做的更改没有生效。我怀疑这是因为 INFOS.DAT 每秒都被 preview_data() 访问。

现在我的问题是,如果文件正在被另一个进程访问,如何限制文件被打开?有什么方法可以知道它,以便我可以在程序上创建中断条件?谢谢。

最佳答案

如果您使用相同的文件描述符打开和关闭文件,则可能会发生这种情况。您可以通过在读取或写入文件时在文件描述符上放置“MUTEX”锁来解决该问题。

因此,如果您正在读取文件,则会有一个锁,不允许同时写入文件,反之亦然。

NOTE : Please note that you may have to compromise with the performance of the program.

关于c - 如何限制 C 中另一个进程或函数使用(写/读)文件的访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58297991/

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