#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.