Hifle bei Funktion die Parameter ausliest!
-
Hallo Leutz
also ich habe mal eine kleine funktion geschrieben die 2 Parameter übernimmt.Zu einen die übergabe-"Parameter" von der Main (char* argv[]) und zum anderen einen String der den Gesuchten Parameter darstellen soll. Nun hab ich das so gemacht wenn er den Parameter gefunden hatt den nächsten Prameter zurückgibt. Ich möchte aber noch eine Bedingung einbauen die sagt "Wenn erstes ZEICHEN ein "-" dann return NULL". Sprich ich will wenn ein Parameter keine Argumente hat -also nichts dahinter steht - NULL zurückliefern.Andernfalls den Wert. Das Problem ist aber ich weis nicht wie ich jedes einzelne Zeichen ansprechen kann. WEil die "Zeiger auf Zeiger auf Array"-geschichte mich irritiert
. Könnt Ihr mir da weiter helfen? auch evtl. sichheitsabfragen könnt Ihr mir posten (damit das Prog nicht abschmiert oder was anderes tut als das was es soll ^^)//////////////////////////////////////////////// /*suche Parameter heraus*/ //////////////////////////////////////////////// char* sucheParameter(std::string parameter,int argc, char *argv[]) { if(argc!=1) // damit er, wenn keine Parameter übergeben werden, nicht abstürtzt { for(int i=1;i<=argc;i++) // Aufruf: { // sucheParameter(string `Wie sieht er aus`, if(parameter==argv[i-1]) return argv[i]; // int `wieviele Parameter gibt es`, } // char `Array der Parameter`) } //////////////////////////////////////////////////// return NULL; } #include <iostream> int main(int argc, char* argv[]) { std::cout << sucheParameter("-h",argc,argv); return 0; }
-
Da ist keine Hexerei dahinter: char* argv[] ist ein Array von char-Zeigern (und das ist die C-Darstellung für "Strings" - ein Zeiger auf ein nullterminiertes char-Array). Mit argv[i] kannst du auf den i-ten String in diesem Array zugreifen (i von 0 bis Arraygröße-1), mit argv[i][j] auf das j-te Zeichen des i-ten Strings (j von 0 bis strlen(argv[i])-1).
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
cool thx das hat mir echt geholfen jetzt weis ich was sache ist ^^

Ich werd mich gleich an die verbesserung setzten