Я делаю очень простой программный код.
Во-первых, у него есть опция «-num» в качестве второго аргумента. Если вы введете что-либо в 3-й аргумент, программа просто скажет, что введен 3-й аргумент.
Вот примеры входов и выходов.
Введите командную строку 1:
./test -num
Выход 1
-num
Введите командную строку 2:
./test -num AnythingHere
Выход 2
-num 3rdArgcEntered
Я также хочу, чтобы следующая командная строка с прикрепленным argc (-num и AnythingHere склеены вместе) давала тот же вывод, что и вывод 2:
./test -numAnythingHere
Результат, который я хочу получить:
-num 3rdArgcEntered
Но я получил:
None
Это исходный код, над которым я сейчас работаю:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main (int argc, char *argv[])
{
if (!strcmp(argv[1], "-num"))
{
printf("-num ");
if(argc==3){
printf("3rdArgcEntered");
}
}
else
{
printf("None");
}
printf("\n");
return 0;
}
getopt
иgetopt_long
из GNU libc. - person Basile Starynkevitch   schedule 30.03.2014