我认为提升文件锁定(可共享和范围的file_locks)和文件锁定的一般策略是这样的:
但是,我将打开文件进行追加,并希望调用tellp来查看我的位置。在上述场景中这样做是否安全?一旦文件在锁定之前打开就不会设置文件指针,从而可能不受保护?如果是这样,有没有一个标准的习惯用来解决这个问题?
答案 0 :(得分:1)
这可能是特定于环境的,但在大多数平台上:
当打开文件以追加时,在每次写入之前立即调整文件指针。因此,如果在锁定文件之前使用tellp
,它可能不会告诉您新添加的字节将去哪里,但是您不应该使用锁定以某种方式仍然附加相同的字节范围。 / p>
答案 1 :(得分:0)
您可以在其中阅读:
哦,这太可怕了......我想帮忙,我已经编写了示例代码,尝试了一下......从1_44文件锁定到win32时被破坏,刷新对锁定文件不起作用。
对不起,不是我的错。
如果它有帮助,理论上说:如果打开文件进行追加,则意味着在每次写入操作之前自动寻找结束。它并不会阻止你随时手动寻求结束 - 即使没有写作。然而,经验(见上文)说:远离破碎的东西。