C 中有没有办法将整个命令行选项和参数存储在单个字符串中。我的意思是如果我的命令行是./a.out -n 67 89 78 -i 9
那么一个字符串str
应该能够打印整个命令行。现在,我能做的是以不同的向量形式打印值。
#include <stdio.h>
#include <getopt.h>
#include <string.h>
int main(int argc, char* argv[]) {
int opt;
for(i=0;i<argc;i++){
printf("whole argv was %s\n", argv[i]);
}
while((opt = getopt(argc, argv, "n:i")) != -1) {
switch (opt){
case 'n':
printf("i was %s\n", optarg);
break;
case 'i':
printf("i was %s\n", optarg);
break;
}
}
return 0;
}
我想要这个,因为optarg
只打印我的第一个参数并且我希望打印所有参数,所以我想在将它存储在字符串中之后对其进行解析。