【发布时间】:2015-05-21 15:50:09
【问题描述】:
我正在创建一个程序,我在其中获取文件的路径,然后将其作为参数发送到另一个程序。问题是当我得到路径时,它有一个特殊字符'\',它完全弄乱了我发送给其他程序的字符串。有没有办法可以忽略转义字符或将其更改为'/'?
谢谢!!
【问题讨论】:
-
您是否尝试过引用流程参数?
我正在创建一个程序,我在其中获取文件的路径,然后将其作为参数发送到另一个程序。问题是当我得到路径时,它有一个特殊字符'\',它完全弄乱了我发送给其他程序的字符串。有没有办法可以忽略转义字符或将其更改为'/'?
谢谢!!
【问题讨论】:
要将\ 更改为/,对字符串进行简单的迭代就足够了。所需的代码是:
's' 被假定为相关字符串。
for (int i = 0; i < s.length(); i++)
{
if (s[i] == `\`)
s[i] = `/`;
}
【讨论】:
请详细说明您的问题。问题可能出在第二个程序上。
第一个程序可能是:
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";
}
}
这只是一个例子。
【讨论】: