c++ 已知一个strfilename是string类型字符串,文件名是.xml结尾,怎么将strfilename由.xml结尾变成.end结尾
时间: 2024-10-20 16:03:38 浏览: 33
在C++中,你可以使用`substr()`函数来截取原始字符串并添加新的后缀。假设`strfilename`是你已知的字符串,这里是如何实现的:
```cpp
#include <iostream>
#include <string>
std::string changeFileExtension(const std::string& strfilename) {
// 使用substr()截取到"."的位置,然后拼接新的后缀
size_t dotIndex = strfilename.find_last_of(".");
if (dotIndex != std::string::npos) { // 如果有"."
return strfilename.substr(0, dotIndex + 1) + ".end"; // 添加新的后缀
} else {
return strfilename + ".end"; // 如果没有".", 直接添加新的后缀
}
}
int main() {
std::string strfilename = "example.xml";
std::string newFilename = changeFileExtension(strfilename);
std::cout << "New filename: " << newFilename << std::endl;
return 0;
}
```
运行这段代码,`newFilename`将会是原文件名替换掉`.xml`后的`.end`。
阅读全文