C++从路径中提取文件名
时间: 2023-10-07 12:13:40 浏览: 133
可以使用`std::filesystem::path`类来提取路径中的文件名。例如,假设有一个路径为`/home/user/Documents/myfile.txt`的字符串,可以使用以下代码来提取文件名:
```cpp
#include <iostream>
#include <filesystem>
int main() {
std::filesystem::path path("/home/user/Documents/myfile.txt");
std::cout << path.filename() << std::endl; // 输出 "myfile.txt"
return 0;
}
```
`filename()`函数返回路径中的最后一个元素,即文件名。如果路径以斜杠结尾,则返回空路径。
相关问题
F:\code\datas\18650\bottomdata\al-NG\240429161825-010-00008-NG.jpg c++ 从路径种提取文件名
在C++中,可以使用以下方法从文件路径中提取文件名:
```cpp
#include <iostream>
#include <string>
#include <filesystem>
int main() {
std::string filePath = "F:\\code\\datas\\18650\\bottomdata\\al-NG\\240429161825-010-00008-NG.jpg";
// 使用std::filesystem::path来处理文件路径
std::filesystem::path path(filePath);
// 使用path的filename()函数获取文件名
std::string fileName = path.filename().string();
std::cout << "文件名:" << fileName << std::endl;
return 0;
}
```
输出结果为:
```
文件名:240429161825-010-00008-NG.jpg
```
c++对路径获取文件名
可以使用以下代码获取路径中的文件名:
```c
#include <stdio.h>
#include <libgen.h>
int main() {
char path[] = "/home/user/documents/file.txt";
char *filename = basename(path);
printf("Filename: %s\n", filename);
return 0;
}
```
这里使用了 `basename()` 函数来获取路径中的文件名。`basename()` 函数可以从路径中提取文件名,并返回指向该文件名的指针。在上述代码中,路径为 `/home/user/documents/file.txt`,则该程序会输出 `Filename: file.txt`。