filename函数c语言
时间: 2023-06-16 08:08:08 浏览: 380
FileName.c
在C语言中,`filename`函数并不存在,但是可以通过一些库函数来获取文件名。其中,常用的有以下几种方法:
1. 使用`<string.h>`库中的`strrchr`函数,该函数可以返回字符串中最后一个指定字符的位置。例如:
```c
#include <stdio.h>
#include <string.h>
int main() {
char path[] = "/path/to/file.txt";
char *filename = strrchr(path, '/') + 1; // 获取文件名
printf("%s\n", filename); // 输出 "file.txt"
return 0;
}
```
2. 使用`<libgen.h>`库中的`basename`函数,该函数可以返回路径中的文件名。例如:
```c
#include <stdio.h>
#include <libgen.h>
int main() {
char path[] = "/path/to/file.txt";
char *filename = basename(path); // 获取文件名
printf("%s\n", filename); // 输出 "file.txt"
return 0;
}
```
3. 使用`<stdio.h>`库中的`fopen`函数打开文件,并使用`<stdlib.h>`库中的`malloc`函数分配内存来存储文件名。例如:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp = fopen("/path/to/file.txt", "r");
char *filename = malloc(sizeof(char) * 256); // 分配内存
if (fp) {
int i = 0;
char c;
while ((c = fgetc(fp)) != EOF && c != '\n' && i < 256) {
filename[i++] = c; // 读取文件名
}
filename[i] = '\0'; // 结束字符串
fclose(fp);
}
printf("%s\n", filename); // 输出文件名
free(filename); // 释放内存
return 0;
}
```
以上是一些获取文件名的方法,可以根据实际情况选择适合自己的方法。
阅读全文