我想转换一个文件路径,只有一个斜杠为双斜线,如下面的代码所示。 但它给了我在最后显示的错误std :: replace给出了错误
#include<algorithm>
std::string file_path;
using std::replace;
while(fgets(fname_buffer,1024,flist))
{
token = strtok(fname_buffer," ,\t");
file_size=atol(token);
token = strtok(NULL, " ,\t");
strncpy((char*)file_fp,token,32);
file_fp[32]='\0';
token = strtok(NULL, "\n");
file_path=token;
replace(file_path.begin(),file_path.end(),'\\',"\\\\");
//file_path.replace(file_path.begin(),file_path.end(),'\\','\\\\');
错误C2664:“的std :: basic_string的< _Elem,_Traits,_AX> &的std :: basic_string的< _Elem,_Traits,_AX> ::更换(无符号整数,无符号整型,常量_Elem *,无符号整型)的std :: _ String_iterator < _Elem,_Traits,_Alloc>”不能转换参数1 '' 到 '无符号整型'
使用[这里](HTTP:// WWW。 boost.org/doc/libs/1_49_0/doc/html/boost/algorithm/replace_all.html)。它比搜索替换重复算法好得多。 – 2012-03-01 17:36:24