在阅读(Fopen)IT

问题描述 投票:0回答:2

在阅读文件时如何阻止文件(通过Fopen或在Linux中打开),以防止阅读时进行任何修改?

我有什么:1个带有数据的文件;我想在功能中从中读取数据,因此我使用fopen():

文件 *file = fopen(fileName,“ r”); 现在,我需要一些东西来阻止我的文件 - (或仅当前用户作为变体)另一个过程不得对其进行任何访问(或仅将其作为变体修改),直到我的函数允许他们进行IT

我假设,我可以使用SET CHMOD标志为它们做到这一点,并在下班后将其放回原处; 或使用特殊标志参数使用open()函数,但这不是可取的,因为我想使用function in function;

有任何如何做的例子?

c linux file fopen chmod
2个回答
2
投票
是的,您可以使用

荧光来做到这一点。但是,由于您想用fopen

而不是
open
打开文件,因此您需要首先使用
fileno获取文件描述符。例如:

FILE* f = fopen(...); int fd = fileno(f); // flock should return zero on success flock(fd, LOCK_EX);
将放置一个独家锁 - 如果您想要共享锁,请将

LOCK_EX

更改为
LOCK_SH


0
投票

struct fanotify_response response; response.fd = metadata.fd; response.response = FAN_DENY;

	

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.