Programm Parameter



  • Hi

    Ich möchte ein Programm machen das man mit Verschieden Parametern Starten kann hier ist ein einfaches bespiel für die DOS konsole wie es mal werden soll

    hallo.exe /a
    -> Hallo Fritz

    hallo.exe /b
    -> Hallo Hans

    Der Programm Text ist dem nach:

    wenn parameter = a

    printf("Hallo Fritz")

    wenn parameter = b

    printf("Hallo Hans")

    Das Problemm ist nur das ich nicht weis wie man Parameter in einem Programm erzeugt, und benutzt 😕 . Ich hoffe ihr könnt mein Bespiel deuten, wenn nicht werde ich mich etwas was anders verfassen.

    Ich hoffe und bitte das Ihr mir helfen könnt.

    MFG hackepeter



  • main( int argc , char *argv[] )
    
    {
       ...
    }
    

    argc gibt die Anzahl der Elemente an, argv ist ein Array auf Char-Strings und enthält die Parameter.

    Achtung: argc ist immer >= 1; argv[0] enthält den Pfad des Programms.

    MfG SideWinder



  • Kannst du das in einbespiel packen? ich weis nicht genau wie ich das machen soll, hab mal in der Hilfe bei BCB 1. Benutzt. Die geht aber net da kommt immer Ausnahme Fehler und so. 😞

    Danke schon mal für deine Schnelle hilfe



  • #include <iostream>
    #include <string>
    using namespace std;
    
    int main (int c, char *s[]) {
      if (c < 2) { //mindestend 1 parameter muss vorhanden sein!
        class x {}; throw x();
      }
    
      string better_string(s[1]);
      if (better_string == "a") { //parameter 1 == a
        cout << "Hallo Fritz!" << endl;
      } else if (better_string == "b") {
        cout << "Hallo Hans!" << endl; 
      } else {
        cout << "Bla!" << endl;
      }
    }
    

    kompilieren nach param_test / unter windows PAR.EXE, ausführen mit

    ./param_test a => Ausgabe: Hallo Fritz
    ./param_test b => Ausgabe: Hallo Hans
    ./param_test => Exceptionwurf

    unter windows

    PAR.EXE a => Ausgabe: Hallo Fritz
    PAR.EXE b => Ausgabe: Hallo Hans
    PAR.EXE => Exceptionwurf



  • Es geht! vielen Dank Hoi, und dir auch SideWinder!


Anmelden zum Antworten