Was ist an diesem Ausdruck falsch?



  • Hallo.

    Ich möchte ein char der Argumente prüfen. Ich schreibe eine Funktion, welche mir meine Argumente auswerten soll.

    Allerdings bekomme ich bei folgender Funktion einen Fehler:

    #include <stdio.h>
    
    int HandleArg(char** argv, int argc, char* AppExe, char* AppPath, char* MeshFileName){
      int i=0, j=0, k=0;
    
      for(i=0; i<argc; i++){
        do{
    	if(argv[i][j]=='\'){k=j;}//Compiler: Illegal expression
        }while(argv[i][j++]!='\0');
    
        AppExe = (char*)calloc(j, sizeof(char)); //Allocating memory for Application executable
        AppPath = (char*)calloc(k+1, sizeof(char)); //Allocating memory for Application path including \
      }
    
      return 0;
    }
    

    Was ist an dem Ausdruck nicht in Ordnung? Ich möchte prüfen, ob es sich bei dem Zeichen j im iten Argument um ein \ handelt. Die BBC Code zeigt ja schon an, dass an dem Ausdruck '\' etwas nicht in Ordnung ist. Gelten da besondere Regeln für das \, denn der Ausdruck

    if(argv[i][j]=='t'){k=j;}
    

    ist erglaubt.

    Vielen Dank im Voraus für den Nachhilfeunterricht 🙂



  • Der Backslash leitet eine Escape-Sequenz ein: '\n', '\r', '\'', '\"', '\a'
    Wenn du einen tatsächlichen Backslash willst: '\'



  • ...jetzt kanns weiter gehen. 👍


Anmelden zum Antworten