Hallo,
habe hier einen kleinen Ausschnitt von einem C-Programm. Will als Parameter eine Datei übergeben in Form -dxxx xxx steht hierbei für den Dateinamen, sollte aber so sein, dass geprüft wird ob ein - steht, danach ob ein d steht und ich dann den Dateinamen habe, den ich später im Programm einlesen muß. Compilieren zeigt keinen Fehler, beim Ausführen mit den Parametern -dabcd zum Beispiel, bricht er mit der Fehlermeldung exe hat Fehler verursacht und wird abgebrochen ab. Wer kann helfen????????
         int main (int argc, char *argv[] ) {
           
           //Parameteruebergabe bei Programmaufruf
         for (i=1; i<argc;i++)
          {
          if ((argv[i] [0]) == '-')
           {
           switch ((argv[i]) [1])
            {
                case 'd': 
            if(sscanf(argv[i]+2,"%c",&Byte_name) !=1)
             FileSpecified=0;    
            else           
             FileSpecified=1;
             for (int j=2;int halt=1;j++)
              {
              sscanf(argv[i]+j,"%c",&Byte_name);
              Byte_name1=Byte_name;
              if(Byte_name1 !='-')
               {
                Datei_name[j-2]=Byte_name1;
               }
               else
               {
                halt=1;
                Datei_name[j-3]='\0';
                break;
               }
              }
              strcpy(File_name,Datei_name);
              strcat(File_name,".lb0");;
              break;
                  
              }
             }
            }
      
will danach die Datei einlesen mit:
         if ( (werte = fopen(File_name,"rb"))==NULL)
         {
          printf("Fehler beim Lesen der Datei %s",File_name);
          exit(0);
         }
         else
          { 
          ...........                                      kann aber leider noch nicht überpruefen, ob dass dann auch funktioniert, da ich ja nicht soweit komme.
      
mfg
Nobody

 
       Nobody666
Nobody666
