c++字符串替换
场景:字符串替换有关问题 c++
字符串替换问题 c++
我获得一个路径字符串,例如:“E:\\Study\\OpenGL\\111.jpg”
现在我想更改文件的后缀名为:“E:\\Study\\OpenGL\\111.txt”
改怎么做呢?
菜鸟,见笑了
------解决方案--------------------
C++ ,可用string函数替换。
函数楼主想用 字符数组实现替换?
char sPath[] ="E:\\Study\\OpenGL\\111.jpg"; //替换内容
------解决方案--------------------
------解决方案--------------------
反向查找\\,找到后删除最后一个\\的内容,再追加新的文件名
------解决方案--------------------
char filename[]=(char)m_xmlFilePath; //报错了这行
->
char *filename=m_xmlFilePath.c_str();
字符串替换问题 c++
我获得一个路径字符串,例如:“E:\\Study\\OpenGL\\111.jpg”
现在我想更改文件的后缀名为:“E:\\Study\\OpenGL\\111.txt”
改怎么做呢?
菜鸟,见笑了
------解决方案--------------------
C++ ,可用string函数替换。
函数楼主想用 字符数组实现替换?
char sPath[] ="E:\\Study\\OpenGL\\111.jpg"; //替换内容
------解决方案--------------------
#include <iostream>
#include <string>
bool replace(std::string& str, const std::string& from, const std::string& to)
{
size_t start_pos = str.find(from);
if(start_pos == std::string::npos)
return false;
str.replace(start_pos, from.length(), to);
return true;
}
int main()
{
using namespace std;
string path = "E:\\Study\\OpenGL\\111.jpg";
replace(path, ".jpg", ".txt");
cout << path << endl;
}
------解决方案--------------------
反向查找\\,找到后删除最后一个\\的内容,再追加新的文件名
------解决方案--------------------
char filename[]=(char)m_xmlFilePath; //报错了这行
->
char *filename=m_xmlFilePath.c_str();