Argv überprüfen auf Zeichen



  • Hallo zusammen,

    ich habe da mal eine Frage.

    Ich möchte einen übergebenen Parameter überprüfen. z.B ich übergebe ein g

    Käsecode 😃 ➡

    int main(int argc, char *argv[])
    {
      if ( argv[1] == "g" )
      {
         printf ( "Geht nicht" );
      }
    }
    

    Wisst ihr was ich meine? Könnt ihr mir weiterhelfen? 😕

    Stehe noch am Anfang mit meinen Kenntnissen 😉

    Grüße
    der C Anfänger



  • Sowohl argv[1] als auch "g" sind vom Typ const char* - sie sind also Zeiger. Du vergleichst hier Zeiger die immer auf unterschiedliche Daten zeigen.

    In der Header-Datei string.h befindet sich eine Funktion um C-Zeichenketten zu vergleichen. Die solltest du nutzen.



  • Janjan schrieb:

    In der Header-Datei string.h befindet sich eine Funktion um C-Zeichenketten zu vergleichen. Die solltest du nutzen.

    Meinst du du könntest mir da ein Beispiel zeigen. Pseudocode reicht 😉



  • if(strchr(argv[1],'g')
      printf("Found");
    

    oder

    char *p;
    p=strchr(argv[1],'g');
    if(p!=NULL)
      printf("Found");
    

    Gruss Binggi



  • SUPER!

    👍 ➡ 😃

    Vieleb, vielen Dank!!!!



  • C Anfänger schrieb:

    Janjan schrieb:

    In der Header-Datei string.h befindet sich eine Funktion um C-Zeichenketten zu vergleichen. Die solltest du nutzen.

    Meinst du du könntest mir da ein Beispiel zeigen. Pseudocode reicht 😉

    Meinst du du könntest auch mal etwas Eigeniniaitive zeigen. Würde dir helfen 😉



  • if ( argv[1][0] == 'g' )
    //



  • Janjan schrieb:

    Meinst du du könntest auch mal etwas Eigeniniaitive zeigen. Würde dir helfen 😉

    Ich mache jetzt seit 14 Tagen C, habe vorher noch nie mit C oder sonst etwas gearbeitet. Hab gestern den ganzen Tag rumprobiert. Alles weiß ich leider auch nicht. Und bin einfach nicht mehr weitergekommen. Deswegen lieber mal fragen. Habe auch in Galileo Openbook geschaut und rumprobiert ohne Erfolg.


Log in to reply