File *类型转化为char *类型
时间: 2023-09-02 22:07:06 浏览: 175
Linux中文件描述符fd与文件指针FILE*互相转换实例解析
将`File *`类型转换为`char *`类型是不可行的,因为它们表示完全不同的东西。
`File *`是指向文件结构体的指针,用于操作文件,而`char *`是指向字符串的指针。
如果您想将文件名转换为`char *`类型,则可以使用`const char *filename`参数来打开文件,例如:
```c
FILE *file = fopen("example.txt", "r");
```
然后,您可以使用`fileno()`函数将文件指针转换为文件描述符,并使用`sprintf()`函数将文件描述符转换为`char *`类型,例如:
```c
int fd = fileno(file);
char filename[64];
sprintf(filename, "/proc/self/fd/%d", fd);
```
这将返回一个以`/proc/self/fd/`开头,后跟文件描述符的字符串。注意,这种方法只在Linux和类Unix系统上有效。
阅读全文