C Konsolenanwenung, Übergabe von Argumenten

eternitysoft

Mitglied
Hi ,
ich bräuchte mal ein klein wenig Hilfe.

Und zwar geht es um folgendes.
Ich muss ein Programm schreiben, Visitenkarten am Terminal ausgiebt oder wahlweise als Druckvorlage in einer Textdatei.
Das ist gerade eher nebensächlich.

Denn mir geht es erstmal daraum das, das Programm soll über die Kommandozeile mit Argumenten gestartet werden:

Code:
<programm> <inputfile> <option>*
<programm> | Programmname
<inputfile> | Name der Eingabedatei
Es gibt folgende Optionen:
<option> ::= -o <outputfile> | Ausgabe erfolgt in die angegebene Ausgabedatei
Da bräuchte ich mal hilfe, wie ich das am besten verarbeiten kann.

Ich weiß das die Parameter der Mainfunktion (argc = counter, argv[] = werte), dafür verantwortlich sind, allerdings wars das auch schon.

Ich hoffe das mir jemand helfen kann und auch etwas hilft.

mfg
 
Soweit ist das richtig, argc gibt dir die Anzahl der Argumente (0 ist der Programmname).Du könntest z. B. anhand der Anzahl der Argumente oder Anhand der konkreten Eingabe, z. B. -o "file.txt", sodass du sagt, das auf -o folgende Argumente ist immer die Datei etc.

Gruß,

badday
 
Hm stimmt hab inzwischen folgendes:

Code:
void checkParam(char value[120])
{
     if(strcmp(value ,"-o") == 0)
     {
           printf("\n##############\n");
           printf("Parameter -o");
           printf("\n##############\n");
     }
     else if(strcmp(value ,"-x") == 0)
     {
           printf("\n##############\n");
           printf("Parameter -x");
           printf("\n##############\n");
     }
     else if(strcmp(value ,"-y") == 0)
     {
           printf("\n##############\n");
           printf("Parameter -y");
           printf("\n##############\n");
     }


}
So jetzt würde ich aber ganz gerne das Komplette Array von argv übergeben, damit ich alles in der Unterfunktion behandeln kann. Problem ist, dass ich mich gerade ein wenig doof anstelle, das Array zu übergeben. -.-
 
Hi.

Welches Betriebssystem verwendest du denn? Unter *nix gibt es die getopt Funktionen die dir das Verarbeiten der Argumente abnehmen.
So jetzt würde ich aber ganz gerne das Komplette Array von argv übergeben, damit ich alles in der Unterfunktion behandeln kann. Problem ist, dass ich mich gerade ein wenig doof anstelle, das Array zu übergeben. -.-
Wo ist das Problem, übergib es doch einfach so wie du es an die main Funktion übergeben bekommst.

Gruß
 
Zurück