Вы можете использовать аргументы argc
и argv
для функции main
и делать с ними разные вещи:
#include <string.h>
void dohelp(void) { /* whatever; */ }
void dobuild(void) { /* whatever; */ }
int main(int argc, char **argv) {
if (argc == 2) {
if (!strcmp(argv[1], "--help")) dohelp();
if (!strcmp(argv[1], "--build")) dobuild();
}
return 0;
}
argc
содержит количество параметров, передаваемых оболочкой вашей программе, включая имя программы. Таким образом, myapp --help
получает аргумент 2.
argv
сами аргументы. Последний аргумент argv (argv[argc]
) является указателем NULL.
Редактировать: параметры не обязательно должны называться argc
и argv
, но при именовании еще чего-то еще очень, очень плохо!
int main(int foo, char **bar) /* RGAGGGGHH */
int main(int n, char **options) /* RGAGGGGHH */