Parameter vergleichen ??

Tutorials.at
Verfügbare Informationen zu "Parameter vergleichen ??"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: exbs - DrPhil_Guth
  • Forum: Tutorials.at
  • Forenbeschreibung: Programmierforum
  • aus dem Unterforum: C / C++
  • Antworten: 4
  • Forum gestartet am: Mittwoch 19.04.2006
  • Sprache: deutsch
  • Link zum Originaltopic: Parameter vergleichen ??
  • Letzte Antwort: vor 17 Jahren, 6 Monaten, 11 Tagen, 2 Stunden, 56 Minuten
  • Alle Beiträge und Antworten zu "Parameter vergleichen ??"

    Re: Parameter vergleichen ??

    exbs - 06.10.2006, 19:51

    Parameter vergleichen ??
    Hi Leutz !

    ich hab ma ne kleine frage. :wink: !

    Also ich schreibe mir gerade ien kleines Adressbuch. Beim starten des Programmes sollen gleich Paarameter übergeben werden, sprich: [neu] - neuer Eintrag usw...! Jetzt habe ich aba das Problem das ich nicht weis wie ich übergebenen Arrays in einer "if" nweisung mit zum Beispiel "neu" überprüfen kann um dann dort fortzufahren.

    Das habe ich bis jetzt schon ...

    Code: #include <stdio.h>

    #define p printf


    int main(int argc, char *argv[])
    {
        /*Variablen deklarieren*/
       
       
       
        /*Das futzt schon*/
        //***************//
        if (argc < 2)
        {
                 system("cls");
                 p("---|> H I L F E <|---\n");
                 p("\nNutzung des Programms:\n");
                 p("----------------------\n\n");
                 p("Prameter des Programms:\n");
                 p(" - [neu]\tNeuer Eintrag wird erstellt.\n");
                 p(" - [\"Name\"]\tBereits existierender Eintrag, mit dem Namen, wird gesucht.\n");
                 p(" - [about]\tInformationen ueber das Programm, werden ausgegeben.\n");
        }
        //**************//
       
        /*Das noch net :-(*/
        if (strcmp(*argv, "neu") == 0) //irgendwie scheint er das nicht vergleichen zu können
        {
                           p("neu");
        }
    }

    Habt ihr evtl ein Idee, wie ich den Parameter verlgeichen kann ??

    thx

    greetzz exbs :D



    Re: Parameter vergleichen ??

    exbs - 07.10.2006, 13:18


    Hat denn keiner ein Idee ?? :( :(



    Re: Parameter vergleichen ??

    DrPhil_Guth - 07.10.2006, 13:24


    Du hast das schon richtig gemacht mit strcmp, die Parameter stimmen nur nicht ganz.

    Das klingt jetzt komisch, aber

    argv ist ein Zeiger auf Ein Arry von Zeigern, die auf strings zeigen.

    d.H. in argv kannst du mehrere Arrays speichern.

    strcmp(*argv, "neu"); greift aber nicht auf einen gespeicherte String zu, sondern nur auf einen Zeiger darauf.

    Wenn du willst, dass z.B. der erste Parameter verglichen wird, musst du das so machen:
    if (strcmp(argv[1], "neu") == 0);

    argv[1] deshalb, weil immer der zweite string den ersten Paramter enthält. Der erste String enthält immer automatisch den dateinamen.


    Und noch was, das

    Um strncmp anzuwenden wird bei mir die Headerdatei <string.h> benötigt. Gehts bei dir etwa auch ohne?

    system("cls") löst bei mir einen Compilerfehler aus, wahrscheinlich ist das etwas compilerspezifisches. Ich würde nichts spezifisches, was nicht unbedingt nötig ist in mein Programm aufnehmen. Ich habe es nämlich einfach als kommentar markiert, dann hat das prg. ohne probleme funktioniert

    #define p printf
    scheint zwar ne gute lösung zu sein, wenn du dann größerer Programme schreibst, hast du keine Ahnung mehr, was welche funktion war.

    Ich hoffe ich konnte dir weiterhelfen



    Re: Parameter vergleichen ??

    exbs - 07.10.2006, 14:27


    Cool Danke ... es funktioniert !! :D

    @ Header <string.h> ... ja es geht auch so ... komisch mit ist schon öfter aufgefallen, dass viele Funktionen auch ohne die Header bennutzt werden können :roll: :?: ! nja egal wa :wink:

    @ #define p printf ... ja das is sicher net so gut, aber da ich manchmal ziemlich faul bin ( :oops: ) ... verwende ich das öfters mal ! AAber recht hast du !

    @ system("cls"); ... ja das is sone Sache, eigentlich ist es net gut, hab ml gelesen, dass das auch unvorhersehbare Ereignisse auslösen kann. Eigentlich sendet es nur an die Windows cmd.exe den Befehl "cls" ... und das löscht ja die Eingabe. Es ist auch nicht Portabél und ich glaube es funktioniert bei dir net, weil du nen "falschen" kompiler hast. Ich weiss, dass es aber beim DEV-c++ futzt.

    Also nochmal Danke duz hast mir sehr geholfen. :D :D

    thx und greetzz exbs :roll:



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Tutorials.at

    PC-Spiele programmieren - gepostet von Dominik92 am Mittwoch 13.09.2006
    Mein Programm HILFE GESUCHT!! - gepostet von Pole am Montag 11.12.2006
    wer kennt diese sprachen - gepostet von AQE89 am Montag 13.11.2006
    Umrechner Arabische in Römische Zahlen - gepostet von Walgo am Donnerstag 19.07.2007
    Turbo C Problem! (Umfrage nur nebenbei) - gepostet von ChillerT am Dienstag 06.02.2007
    Zähler in C - gepostet von mitti am Montag 14.05.2007
    Pascal - gepostet von Kakashi am Donnerstag 22.02.2007
    Problem - gepostet von C-Chris am Dienstag 30.10.2007



    Ähnliche Beiträge wie "Parameter vergleichen ??"

    Kommandozeilen-Parameter - Bakachan (Montag 14.01.2008)
    Vergleichen nicht möglich. - Mila (Freitag 11.08.2006)
    Deswegen fahre ich max. 3 Stunden und 45 Minuten am Stück... - Cruisoe (Freitag 04.05.2012)
    Parameter für ein kampfsystem - Rikku (Dienstag 10.07.2007)
    TKO (Parameter II) ft Miss Wendy - Breakbeat.Co.Uk Podcast - porter (Mittwoch 29.11.2006)
    vergleichen-symbol - ginger (Sonntag 12.06.2005)
    Lesen... Verstehen... Vergleichen... - Shadowbeast (Freitag 19.01.2007)
    T-rex mit DF37 vergleichen ? - jonnyb (Montag 19.03.2007)