Verarbeitung der Argumente III

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]

   while (argc > 0 && argv[0][0] == '-') {
      option = argv[0][1];
      -- argc; ++ argv;
      if (argc == 0) {
         benutzung();
	 exit(1);
      }
      switch (option) {
	 case 'f': nfische = atoi(* argv); break;
	 case 'h': nhaie = atoi(* argv); break;
	 case 'F': fbrut = atoi(* argv); break;
	 case 'H': hbrut = atoi(* argv); break;
	 case 'd': fasten = atoi(* argv); break;
	 case 's': startwert = atoi(* argv); break;
	 case 'i': iterationen = atoi(* argv); break;
	 case 'o':
	    if ((ausgabe = fopen(* argv, "w")) == NULL) {
	       fprintf(stderr, "%s: ", progname);
	       perror(* argv);
	       exit(1);
	    }
	    break;
	 default:
	    benutzung(); exit(1);
      }
      -- argc; ++ argv; /* alle Optionen haben ein weiteres Argument */
   }
   if (argc > 0) {
      benutzung(); exit(1);
   }

*Invariante: argc gibt die Zahl der verbleibenden Argumente und argv zeigt auf das nächste zu verkonsumierende Argument.
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]
Copyright © 1998 Andreas Borchert, in HTML konvertiert am 01.12.1998