c++字符串替换

场景:字符串替换有关问题 c++

字符串替换问题 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();