首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

文件指针有关问题

2013-01-11 
文件指针问题怎么输出文件指针对应文件的文件名呢?是linux,命令提示符下编程,文件名仅为英文字母C/C++ cod

文件指针问题
怎么输出文件指针对应文件的文件名呢?

是linux,命令提示符下编程,文件名仅为英文字母

C/C++ code
?
1
2
3
4
void output_file_name (FILE *f1, FILE *f2)
{
 //在这里输出f1的文件名,怎么搞?
}

[解决办法]
GetFileInformationByHandleEx
直接定位/proc/pid/fd目录下的符号链接文件就可以了。

void output_file_name(FILE* fp)
{
    char target_path[256];
    char file_path[256];
    int fd=fileno(fp);
    pid_t pid=getpid();
 
    sprintf(file_path,"/proc/%d/fd/%d",pid,fd);
    int len=readlink(file_path,target_path,256);
    if(len==-1){
        printf("readlink error!");
        return;
    }
    target_path[len]='\0';
    printf("Path=%s\n",target_path);
 
}

热点排行