好的,我知道我可以像这样循环:
for (int i=1; i<=argc-1;i++) {
cout << argv[i] << endl;
}
Run Code Online (Sandbox Code Playgroud)
但这种方式会丢失双引号,即字符串"something here"被视为args数组的一个元素,并且引号丢失.
好吧,我知道如果参数里面有空格,我可以假设引号,但无论是否有空格,引号总是丢失.
它是移除引号的shell.如果您希望shell将引号传递给您,则必须转义它们:
$ ./my-program \"hello\ world\"
Run Code Online (Sandbox Code Playgroud)
请注意,我也会逃避空间,使其成为一个参数.
| 归档时间: |
|
| 查看次数: |
1275 次 |
| 最近记录: |