Was bringt das eindlich das
int main(int argc, char* argv[])
wo ist das der unterschid zwichen
int main()
oder
main()
Was bringt das eindlich das
int main(int argc, char* argv[])
wo ist das der unterschid zwichen
int main()
oder
main()
In C++ hat main immer einen return-Wert, also muss es int main() heißen.
Um Parameter übergeben zu können benötigt man in der Klammer int argc und char* argv[].
Ersteres beinhaltet die Anzahl der übergebenen Parameter, das Array char* argv[] hat die einzelnen Parameter.
Programmiere (wenn es denn mal wieder vorkommt) in C, C++, Java, Perl
Bin kein Student (Elektrotechnik) mehr und habe die Seiten gewechselt von der Software weg hin zur Hardware
- int main(int argc, char* argv[])
Bedeutet: main ist eine Funktion, die die Parameter ... nimmt und int zurückgibt, so muss main eigentlich definiert sein, da sie so aufgerufen wird.- int main()
Bedeutet in C: main ist eine Funktion, dessen Parameter mich nicht interessieren.
In C++ bedeutet es hingegen: main ist eine Funktion, die keine Paramter nimmt- main()
Bedeutet in C: main ist eine Funktion mit (oder ohne) uninteressanten Parameter, die "int" zurückgibt (wenn dort nichts steht, nimmt C int an), also dasselbe wie 2)
In C++ ist das ungültige Syntax.
Also. Nummer 1) ist korrekt, mit Nummer 2) kommt man meistens durch, Nummer 3) ist ganz ganz schlechter und veralteter Programmierstil (es sei den, du möchtest beim Obfuscated C Contest mitmachen)
Lange Rede, kurzer Sinn: nimm 1)
ich hätte sonst zufälligerweise noch testprogramme zu argc, argv und getopt.
dan siehst du gleich was die dinger machen. interesse?
/* -->
RTFM
<-- */
ja ich habe Interesse, würdest du mal bitte posten vieln DankZitat von gorba
Für Getopt reicht eigentlich das hier: http://www.gnu.org/software/libc/man...de/Getopt.html
Allerdings finde ich das etwas merkwürdig zu programmieren. Insbesondere wenn man auch noch die langen Optionen verwendet - un ddas tut man ja meistens.
MfG Peschmä
The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)
Bevor du durch getopt verwirrt wirst, wenn du dein Programm mitaufrufst, enthält:Code:meintollesprogramm parameter1 parameter2 parameter3
argc = 4 (Anzahl der Einträge in argv, 1. ist immer Programmname, + 3 Parameter)
argv[0] = "meintollesporgramm"
argv[1] = "parameter1"
argv[2] = "parameter2"
argv[3] = "parameter3"
getopt vereinfacht es sehr, damit umzugehen, denn z.B.
würdest du alsCode:meinprogramm -abc -o parameterfuero --log-level 65 --foo=barbekommen, was du aber haben willst, istCode:"meinprogramm", "-abc", "-o", "parameterfuero", "--log-level" "65","--foo=bar"
Und das macht getopt für dich.Code:"a", "b", "c", ("o","parameterfuero"), ("log-level",65), ("foo", "bar")
Lesezeichen