2Fermer4
GodzilLe 04/02/2009 à 18:22
je pencil kevin, utiliser getopt est une horreur et vive faire un parseur a la main (surtout que c'est plutot simple.)

ie :

   /* Now we use a real argument parser ! */
   for(i = 1 ; (i < argc) && (argv[i][0]=='-'); i++)
   {
      switch(argv[i][1])
      {
         default: /* Option not recognized */
         case 'h': /* ask for help */
            printUsage(argc, argv);
            break;
            
         case 'p': 
            if (atoi(argv[i+1]) != 0)
            {
               printf("-Load plugin #%d...\n", atoi(argv[i+1]));
               if ( plugin_load(atoi(argv[i+1])) == -1)
               {
                  plugin_list();
                  exit(0);
               }
               i++;
            }
            else
            {
               plugin_list();
               exit(0);
            }
            break;
            
            case 'f':
            printf("-Start with fds!\n");
            START_WITH_FDS = 1;
            break;
            
            case 'd':
            printf("-Start with debug!\n");
            START_DEBUG = 1;
            break;
            
            case 'b':
            printf("-Palette file is %s\n", argv[i+1]);
            PALETTE_FILENAME = argv[i+1];
            i++;
            break;      
      }
      
   }


Bref franchement pour 3 arguments 1/2 pas besoin de sortir une usine a gaz comme peut l'être getopt (et non portable de surcroît...)