gpt4 book ai didi

c - 命名匿名文件指针

转载 作者:行者123 更新时间:2023-11-30 20:04:33 25 4
gpt4 key购买 nike

给定一个指向打开文件的文件指针fp,是否有一种可移植的方法来为其命名?在这种情况下不能使用函数rename,因为我没有引用该文件的当前名称。

最佳答案

在Linux上,您可以使用linkat

int linkat(int olddirfd, const char *oldpath,
int newdirfd, const char *newpath, int flags);

通过指定AT_EMPTY_PATH标志。例如,类似这样的事情:

linkat(fileno(fp), NULL, AT_FDCWD, "/path/to/new/name", AT_EMPTY_PATH);

请注意,这不会重命名原始文件,它只是创建一个新的硬链接(hard link)(即新名称)。此外,这种方法不可移植,因为 AT_EMPTY_PATH 是一个 Linux 扩展。

关于c - 命名匿名文件指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39576731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com