gpt4 book ai didi

c - fsync 不向文件写入数据

转载 作者:太空狗 更新时间:2023-10-29 15:20:06 24 4
gpt4 key购买 nike

我有两个 (POSIX) 线程写入这样的日志文件:

pthread_mutex_lock(&log_mutex);
fprintf(LOG, "something...\n");
fsync(fileno(LOG));
pthread_mutex_unlock(&log_mutex);

文件在 main() 中使用 fopen() 以模式“a”打开。在进程运行时,我看不到文件中出现任何带有 cattail 的内容,尽管在进程终止并且文件为 fclose()-ed,所有的行都在那里。

我做错了什么?

最佳答案

我猜你需要调用 fflush() 来将更改刷新到文件系统。

另见 difference between fsync() and fflush() .

关于c - fsync 不向文件写入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15459328/

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