我从argv[]
解析C ++参数时遇到了奇怪的问题。以下是一些代码示例:
int main(int argc, char **argv) {
for (int i=0; i <argc; i++)
printf("argv[%d] = %s|\n", i, argv[i]);
return 0;
};
当我像这样运行这个程序时:
./myprogram --aaa-a --bbb-b --ccc-c
我得到的结果是:
argv[0] = myprogram|
argv[1] = --aaa-a --bbb-b|
argv[2] = --ccc-c
但是当我尝试时:
./myprogram --aaa-a --bbb-b --ccc-c
在aa和bb之间有额外的空间,我得到了:
argv[0] = myprogram|
argv[1] = --aaa-a|
argv[2] = --bbb-b|
argv[3] = --ccc-c|
有谁能告诉我这里发生了什么?