c++标准14,传入一个CString路径,得到路径的最后一个斜杠右边文件名,不使用filesystem
时间: 2024-09-09 11:05:42 浏览: 44
一个MFC连接MySQL的例子
在C++14中,你可以通过手动解析字符串来达到这个目的。由于C++的标准库并不直接提供获取路径文件名的功能,但可以利用`std::string`的方法和成员函数。以下是一个简单的示例:
```cpp
#include <string>
std::string getFileNameWithoutPath(const std::string& path) {
size_t lastSlashPos = path.rfind("\\"); // 查找最后一个斜杠的位置(对于Windows)
if (lastSlashPos != std::string::npos) { // 如果找到
return path.substr(lastSlashPos + 1); // 返回从该位置到字符串结束的部分
} else { // 如果未找到,可能只有一个反斜杠(Linux/Unix)
lastSlashPos = path.rfind("/");
return path.substr(lastSlashPos + 1);
}
}
// 使用示例
std::string fullPath = "C:\\Users\\example\\Documents\\myFile.txt";
std::string fileName = getFileNameWithoutPath(fullPath);
```
请注意,这个方法假设路径是以斜杠(/ 或 \)结尾的。如果路径可能以其他字符结尾,你可能需要添加额外的逻辑来处理这种情况。
阅读全文