【问题标题】:Open file for writing from shared lib written in C in Solaris打开文件以从 Solaris 中用 C 编写的共享库写入
【发布时间】:2011-12-01 11:32:52
【问题描述】:

我需要从我在 Solaris 中用 C 语言编写的共享库中将信息附加到给定文件中。以共享方式打开文件进行写入的最安全方法是什么?作为一个共享库,我假设两个实例尝试同时写入文件是有风险的。

提前致谢

【问题讨论】:

    标签: c gcc file-io shared-libraries solaris


    【解决方案1】:

    两个进程写入同一个文件,迟早会导致文件乱码。如果您可以访问库(您似乎可以访问)和应用程序,那么您可以使用 flock 调用保护对文件的所有写入。

    【讨论】:

    • 不要忘记fwrite 缓冲数据。为了完全安全,您应该在每次写入调用后使用fflush 或确保文件描述符处于行缓冲区模式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-31
    相关资源
    最近更新 更多