【问题标题】:C: Synchronising two file pointers to the same fileC:同步两个文件指针指向同一个文件
【发布时间】:2013-01-01 21:18:43
【问题描述】:

我需要两个文件指针 (FILE *) 一起操作。一种是应用追加操作,另一种是读取和覆盖。

我需要从一个指针附加到文件以被另一个文件指针识别,以便另一个文件指针可以正确读取和覆盖此附加数据。

为了同步数据,似乎在附加文件指针上使用fflush() 有效(至少对于读取它是有效的),但这是实现我想要的正确方法并且它是否可移植?

谢谢。

【问题讨论】:

    标签: c file-io stdio fflush


    【解决方案1】:

    您应该能够使用一个指针来完成此操作(因此不必进行不必要的同步)。当您想在末尾添加时,只需使用fseek(f, SEEK_END, 0);。使用“rb+”使文件可读可写。

    只要您不使用多个线程来访问文件,这应该可以正常工作。

    【讨论】:

    • 过去,无论出于何种原因,这总是让我失败,但我会再试一次......
    • 好的...现在当我尝试它确实有效。出于某种原因,我之前很难让 rb+ 与附加一起工作,但这不是很好。我一定是做错了什么。谢谢。
    • 只要您不寻找文件末尾的 PAST 就应该可以工作[尽管在某些系统中也可以]。
    猜你喜欢
    • 2015-07-01
    • 2019-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-13
    • 2013-03-17
    • 2020-10-01
    • 2011-03-15
    相关资源
    最近更新 更多