C++ 判断文件名后缀
时间: 2024-09-05 07:04:41 浏览: 26
在C++中,判断文件名后缀通常涉及到字符串处理。可以使用`std::string`类的一些方法来提取或检查文件名的扩展名。以下是一个简单的步骤:
1. 首先,将文件名分为两部分:主名(不包括后缀)和扩展名。这通常通过查找`.`字符来完成。如果`.`不在文件名的末尾,可能需要考虑所有连续的`.`字符。
```cpp
#include <string>
#include <iostream>
std::string getExtension(const std::string& filename) {
size_t pos = filename.rfind(".");
if (pos != std::string::npos && pos > 0) { // 如果找到`.`并且它不是第一个字符
return filename.substr(pos + 1); // 返回从`.`到字符串结束的部分
}
return ""; // 如果没有`.`,则返回空字符串表示无后缀
}
```
2. 然后你可以调用这个函数并打印出结果,例如:
```cpp
int main() {
std::string filename = "example.txt";
std::string ext = getExtension(filename);
if (!ext.empty()) {
std::cout << "File extension is: " << ext << std::endl;
} else {
std::cout << "File has no extension." << std::endl;
}
return 0;
}
```