首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++ string里面 "\"怎么替换成"\\"

2013-07-04 
C++ string里面 \如何替换成\\我获取了路径 string ss E:\Image\Test\但是我要的路径是 E:\\Ima

C++ string里面 "\"如何替换成"\\"
我获取了路径 string ss = "E:\Image\Test";
但是我要的路径是 "E:\\Image\\Test\"
是两个斜杆!!  这个怎么替换下啊,求大家告诉我下,谢谢了!
[解决办法]
逐字符读取字符,遇到'\',就加'\\'

int len = strlen(ss);
char* p = ss;
string res("");
for(int idx = 0; idx < len; ++idx)
{
    if(*p == '\')
    {
        res += "\";
    }
    else
    {
        res += *p;
    }
}

[解决办法]
windows下文件分隔符是\,linux下是/,其他的不晓得,但是在windows下\又是一个转义字符,所以想要使用windows分隔符必须使用两个\\来向系统说明第二个\是我要的字符串中的一个字符,而不是转义语义了
[解决办法]
引用:
windows下文件分隔符是\,linux下是/,其他的不晓得,但是在windows下\又是一个转义字符,所以想要使用windows分隔符必须使用两个\\来向系统说明第二个\是我要的字符串中的一个字符,而不是转义语义了

至于怎么在string内全文替换,参看string的replace方法,总有一个使用你的
[解决办法]
引用:
我预言:帖主不需要替换。

尽管如此:
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main(){
string ss = "E:\\Image\\Test\";
cout<<ss<<endl;
for (size_t i=0;i<ss.size();i++) {
if (ss[i]=='\\') {
ss.insert(i,string("\")); 
i++;
}
}
cout<<ss<<endl;
return 0;
}
//E:\Image\Test\
//E:\\Image\\Test\\
//

[解决办法]
 string ss = 获取的路径字符串
printf("%s",ss.c_str());
先打印出来看看啊,是你想要的路径吗,那就无需替换,多打印
[解决办法]
string类有替换的函数。。。

热点排行