Einen Wert per Kommandozeile an eine C Datei übergeben..
kai
- sonstiges
0 Der Martin0 kai
0 Robert Bienert
hallo,
ich bin ein echter c++ newbee aber finde mich auf grund
langer php kenntniss ganz gut zu recht.
jetzt stell ich mir die frage ob , und wenn ja , wie man
aus der kommandozeile einen wert an ein c script übergiebt.
das muss ja eine verwante funktion zu std::cin sein .. oder ?`
oder geht es gar nicht ?
z.B. #: meinScript.c wert1 wert2
geht sowas überhaupt ?
vielen dank.
kai
Hallo Kai,
ich bin ein echter c++ newbee aber finde mich auf grund
langer php kenntniss ganz gut zu recht.
Das ist schön. Es gibt ja auch eine Menge Parallelen zwischen diesen beiden Sprachen - aber eben auch einen gravierenden Unterschied.
jetzt stell ich mir die frage ob , und wenn ja , wie man
aus der kommandozeile einen wert an ein c script übergiebt.
das muss ja eine verwante funktion zu std::cin sein .. oder ?
Nein, die Parameter, die du deinem Programm übergibst, kannst du in C/C++ über das Array char **argv abfragen (argv[0] enthält dabei den Namen und Pfad der Programmdatei selbst), int argc gibt dir an, wieviele Parameter (einschließlich des Programmnamens selbst) übergeben wurden.
z.B. #: meinScript.c wert1 wert2
Und hier kommt der große Unterschied: C-Programme werden normalerweise compiliert und werden nicht direkt aufgerufen. Das fertig übersetzte und ausführbare Programm liegt dann direkt in Maschinensprache vor und trägt üblicherweise nicht mehr die Endung ".c".
geht sowas überhaupt ?
Aber klar - ein Großteil der professionellen Programme ist in C/C++ geschrieben, und da geht's ja auch!
Schönen Abend noch,
Martin
hallo martin,
vielen vielen dank !
nur selten bekommt man so schnell eine so kompetente
und verständliche antwort.!
nochmal danke. !
kai
Moin!
ich bin ein echter c++ newbee aber finde mich auf grund
langer php kenntniss ganz gut zu recht.
Die Syntax ist ja recht ähnlich, wenn auch C++ universeller ist, was die Anwendungszwecke aber auch die Fehlerquellen anbetrifft.
jetzt stell ich mir die frage ob , und wenn ja , wie man
aus der kommandozeile einen wert an ein c script übergiebt.
C-Script? Ich habe mal irgendwo gelesen, dass es so etwas auch geben soll, aber normalerweise werden C-/C++-Programme kompiliert, d.h. in eine ausführbare Binärdatei für deine Plattform übersetzt. Beim Starten deines Programmes wird die Funktion main() aufgerufen, die du im Quellcode mit Leben füllen musst. main() wird sinnvollerweise auf eine der folgenden zwei Arten deklariert:
int main(); // Dein Programm erwartet keine Parameter
int main(int argc, char *argv[]); // Dein Programm bekommt Parameter
// argc enthält die Anzahl der Elemente in argv
// argv ist der Argumentvektor, ein C-Style Array.
// argv[0] enthält den Namen des Programmes
das muss ja eine verwante funktion zu std::cin sein .. oder ?`
oder geht es gar nicht ?
In dieser Hinsicht (Parameter-Handling in main())waren die C++-Designer vielleicht ein wenig inkonsequent, andererseits ist C++ damit zu C kompatibel.
z.B. #: meinScript.c wert1 wert2
geht sowas überhaupt ?
Ich mache das immer so:
Viele Grüße,
Robert