【问题标题】:Replace strings in C++在 C++ 中替换字符串
【发布时间】:2015-05-21 15:50:09
【问题描述】:

我正在创建一个程序,我在其中获取文件的路径,然后将其作为参数发送到另一个程序。问题是当我得到路径时,它有一个特殊字符'\',它完全弄乱了我发送给其他程序的字符串。有没有办法可以忽略转义字符或将其更改为'/'? 谢谢!!

【问题讨论】:

  • 您是否尝试过引用流程参数?

标签: c++ string path


【解决方案1】:

要将\ 更改为/,对字符串进行简单的迭代就足够了。所需的代码是:

's' 被假定为相关字符串。

for (int i = 0; i < s.length(); i++)
{
  if (s[i] == `\`)
    s[i] = `/`;
}

【讨论】:

  • 你需要转义'\'
  • 我正在考虑使用 find 作为参数添加替换。唯一的问题是我不确定是否需要循环调用它,或者一次调用是否足以更改所有字符。因此,避而远之。不应该。
【解决方案2】:

请详细说明您的问题。问题可能出在第二个程序上。

第一个程序可能是:

char str1[50]="start abc.exe ";
char str2[20];
cin>>str2;
strcat(str1,str2);
system(str1);

第二个程序可能是(abc.exe):

int main(int argc,char *argv[])
{
for(i=1;i<argc;i++)
 {     
  cout<<argv[i]<<" \n";
 }
}

这只是一个例子。

【讨论】:

    猜你喜欢
    • 2011-10-20
    • 2012-08-30
    • 1970-01-01
    • 2013-04-01
    • 2010-12-06
    • 2013-05-26
    • 2014-07-30
    • 1970-01-01
    相关资源
    最近更新 更多