首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用文件删除文件*

使用文件删除文件*
EN

Stack Overflow用户
提问于 2012-08-21 14:04:36
回答 3查看 175关注 0票数 0

可能重复: in C?

我想在C程序的末尾删除一个文件,这时文件名已经被遗忘了。如果我只需要使用文件*直接删除它或者找到文件名,然后使用remove().而不是要记住这个文件名。

有人知道有什么办法可以做到这一点吗?我在Windows系统上,但我需要维护可移植性,这样就不能使用任何特定于操作系统的东西。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-21 14:07:53

如果我只需要使用文件*直接删除它或找到文件名,然后使用remove().而不是要记住这个文件名

无法从FILE *检索文件名。FILE *不一定是一个真正的文件;例如,只需考虑popen(3)

票数 3
EN

Stack Overflow用户

发布于 2012-08-21 14:13:45

我不知道一种可移植的方法,但是有一个Linux版本(它可能在其他unices上工作)和一个Windows版本:

Linux:readlink() on sprintf("/proc/self/fd/%d",fd)应该能工作

Windows:GetFileInformationByHandleEx()将作为结构的一部分给出名称(搜索MSDN,在我的脑海中没有详细信息)

票数 1
EN

Stack Overflow用户

发布于 2012-08-21 14:19:03

E.g

代码语言:javascript
复制
#include <stdio.h>
#include <stdlib.h>

void endproc(void){
    remove("removeFile.dat");
}

int main(){
    atexit(endproc);
    return 0;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12056641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档