tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
221
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    eternitysoft eternitysoft ist offline Mitglied Silber
    Registriert seit
    Dec 2004
    Beiträge
    81
    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 :
    1
    2
    3
    4
    5
    
    <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
     

  2. #2
    badday badday ist offline Mitglied Brokat
    Registriert seit
    Dec 2009
    Beiträge
    321
    Blog-Einträge
    1
    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
     

  3. #3
    eternitysoft eternitysoft ist offline Mitglied Silber
    Registriert seit
    Dec 2004
    Beiträge
    81
    Hm stimmt hab inzwischen folgendes:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
    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. -.-
     

  4. #4
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Welches Betriebssystem verwendest du denn? Unter *nix gibt es die getopt Funktionen die dir das Verarbeiten der Argumente abnehmen.
    Zitat Zitat von eternitysoft Beitrag anzeigen
    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ß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

Ähnliche Themen

  1. Variable Argumenten
    Von MedRamBO im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 29.08.10, 17:46
  2. Antworten: 1
    Letzter Beitrag: 09.06.08, 12:19
  3. Antworten: 2
    Letzter Beitrag: 31.03.08, 13:47
  4. Antworten: 3
    Letzter Beitrag: 23.04.05, 20:44
  5. Funktion mit variabler Anzahl von Argumenten
    Von andreassin im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 21.09.04, 19:00