Считывание параметров исполняемого файла

#c #parameter-passing

#c #передача параметров

Вопрос:

в моей программе я буду использовать два параметра. Это могло бы выглядеть следующим образом:

 ./myApp -status 7 -file abc.txt
  

Мой вопрос заключается в том, как создать условия типа «if (parameter_status ==7)» и как добраться до abc.txt из -файла в моем главном?

Спасибо

Ответ №1:

Используйте вызов getopt() из библиотеки GNU C. Пример того, как это использовать, находится на www.gnu.org.

Ответ №2:

 long int status = 0;
char *filename = NULL;

for (i = 1; i < argc - 1; i  ) {
  if (!strcmp(argv[i], "-status")) {
    status = strtol(argv[  i], NULL, 10);
  } else if (!strcmp(argv[i], "-file")) {
    filename = argv[  i];
  }
}
  

Комментарии:

1. Для чего «amp;amp; i < argc — 1»?

Ответ №3:

Параметры, которые вы передаете через командную строку, находятся в параметре argv main(), их количество указано в argc.