Как сделать так, чтобы программа не могла работать, если в командной строке не указан определенный аргумент? - PullRequest
0 голосов
/ 12 апреля 2020

Я пишу программу, в которой я ввожу аргументы диапазона в командной строке и запускаю al oop, пока он не достигнет конца диапазона, а затем запишу их в текстовый файл

./cmdline -b 100 -e 200 -s 4 -f text.txt -m w  // -b = beginning; -e = end; -s = step size; -f = file path; -m = mode
100 104 108 112 116 120 124 128 132 136 140 144 148 152 156 160 164 168 172 176 180 184 188 192 196 200

Как сделать так, чтобы программа не могла работать, если один из аргументов диапазона, -b, -e, -s, отсутствует. Если r не написано для режима после того, как команда записана в текстовый файл, она просто читает текстовый файл.

1 Ответ

0 голосов
/ 12 апреля 2020

Вы можете написать код ниже:

int main(int argc, char *argv[]) {
   if(argc != numbers_of_arguments) {
      printf("error message"); //a message you want
   }
   for(int i = 0; i < argc;) {
     if(strcmp(argv[i],"your range arguments") != 0) {
        printf("Error give these range arguments");
        return(-1);
     }
     i = i + 2; //cause of position of your range arguments
     if(i == 6) {
        break; // in order not proccess anything else because you reach your range arguments
     }
   }
   return(0);
}
...