【问题标题】:C reading a renamed fileC读取重命名的文件
【发布时间】:2013-12-11 09:38:41
【问题描述】:

在 C 中,如果我使用 FILE 指针和 fgetsfread 读取文件会怎样
(如FILE *f)并且文件被重命名?

【问题讨论】:

  • 试一试,看看会发生什么:)

标签: c file stdio


【解决方案1】:

大概取决于操作系统。在类 Unix 操作系统(例如 Linux)下,您不仅可以读取重命名的文件,即使它被删除也可以读取:打开的文件句柄指的是文件的数据,而不是其目录条目。

【讨论】:

  • 如果文件被另一个进程锁定(fopen'ed),其他文件系统/操作系统将不允许重命名文件
【解决方案2】:

我希望结果是特定于操作系统的,甚至可能是特定于文件系统的。 C 不做任何保证。

【讨论】:

    猜你喜欢
    • 2014-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-06
    • 2019-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多