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分隔符必须使用两个\\来向系统说明第二个\是我要的字符串中的一个字符,而不是转义语义了
[解决办法]
至于怎么在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类有替换的函数。。。