0

stdio::rename()如果函数调用是完全同步的,我只是在徘徊。那么从函数调用返回后的文件是否可以以新名称立即使用,或者可能需要一些时间(几毫秒)才能发生这种情况?我正在调查一个恼人的计时错误,并怀疑后一种情况会发生。

我的软件在 Win2k3 服务器机器上运行。

4

1 回答 1

3

MSVC 运行时简单地调用MoveFile()API,它是同步的。

如果您尝试使用旧名称创建新文件(即,某些编辑器如何通过将原始文件重命名为“filename.bak”然后使用原始文件名保存新文件来保存文件)并且您会感到惊讶如果新文件的创建日期(和其他元数据)与原始文件匹配,那么您可能会被“文件系统隧道”所困扰:

于 2009-02-03T08:29:48.087 回答