an.di Ich übergebe meinem Programm einen Parameter [entweder auf, ab, oder rand], welcher in argv[2] gespeichert wird. Wie kann ich erreichen, dass z.B. nur rand erkannt wird, aber eben nicht randa. Bis jetzt hatte ich eben if-Schleifen verwendet, die einzeln die Buchstaben abfragen. Dafür bräuchte ich aber am Ende eines Strings die Abfrage, ob etwas ungleich Nichts ist. Zudem hat auch nicht geholfen: if(strcmp(argv[2],"rand")==0) Für Ideen wäre ich sehr dankbar 🙂
Wutzara also du könntest zusätzlich noch auf die Länge testen. Darf ja nicht länger als 4 sein, und dann überprüfst du noch ob die Buchstaben die richtigen sind et voila
aze http://www.gnu.org/s/libc/manual/html_node/Parsing-Program-Arguments.html#Parsing-Program-Arguments btw: http://www.if-schleife.de/
portix Ich weiss nicht ob ich dich richtig verstanden habe, aber ich glaube if (argv[2] && !strcmp(argv[2], "rand")) { ... } ist das was du suchst.
Kinch Wenn du schon mit Parametern hantierst, wäre ein Blick in popt bzw. getopt empfehlenswert. Damit kannst du sehr einfach GNU-Like Kommandozeilen-Argumente parsen.
an.di Danke für die Hilfe. Habe erstmal die Methode von portix benutzt, da mir getopt nicht bekannt ist. Jaja, if-schleife und so..*schäm*.. 😉
Creshal ifs sind keine Schleifen, sondern Verzweigungen bzw. bedingte Anweisungen. Ab in die Ecke, schämen. 🙂