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.