c++ replace_extension
时间: 2023-07-31 15:11:55 浏览: 100
在C++中替换文件扩展名的方法有很多种。以下是一种常见的实现方式:
```cpp
#include <iostream>
#include <string>
#include <algorithm>
std::string replace_extension(const std::string& filename, const std::string& newExtension) {
size_t dotIndex = filename.find_last_of('.');
if (dotIndex != std::string::npos) {
std::string baseName = filename.substr(0, dotIndex);
return baseName + newExtension;
}
return filename;
}
int main() {
std::string filename = "example.txt";
std::string newExtension = ".cpp";
std::string newFilename = replace_extension(filename, newExtension);
std::cout << "New filename: " << newFilename << std::endl;
return 0;
}
```
在上述代码中,`replace_extension` 函数接受一个文件名和新的扩展名作为参数,并返回替换扩展名后的新文件名。如果文件名中存在扩展名,则将其替换为新的扩展名;否则返回原文件名。
在 `main` 函数中,我们使用示例文件名 `example.txt` 和新的扩展名 `.cpp` 来演示替换扩展名的结果。输出结果将是 `New filename: example.cpp`。
你可以根据需要修改文件名和新的扩展名来测试该代码。
阅读全文