Zeiger,vektoren aufgabe unklar
-
Angenommen, ein C++ Programm enthält folgenden Funktionskopf:
" int main(int argc, char* argv[]) """
Beimm Aufruf der Funktion main() hat derr erste Parameter argc mindestens den Wert ................
Verstehe nicht wie ich da drauf kommen soll!!
-
Welches Vorwissen ist denn gegeben? Weisst Du, was der Inhalt von argc bedeutet, und was Dir in argv geliefert wird? Wenn ja, solltest Du argv[0] genauer betrachten, vielleicht kommst Du dann auf die Lösung.
-
argc ist mindestens 1, da argc der argument counter ist. Dieser ist mindestens 1, da ein (das erste) Argument, welches sich im Array argv befindet, der Programmname ist (weiß jetz auch net so genau, wie ichs ausdrücken soll). In argv befinden sich von 0 bis argc - 1 Argumente, die man z.b. in einer Schleife ausgeben kann.
Durch ausprobieren hättest drauf kommen können
-
Vorden schrieb:
Durch ausprobieren hättest drauf kommen können

Jetzt kann er nie wieder drauf kommen, weil Du eine Komplettlösung gepostet hast
:p
-
Schau doch mal in deinem Handbuch/Lehrbuch/Tutorial nach - dort steht bestimmt auch drin, was die Parameter bedeuten, die die main() bekommt.
-
Hi...
int main(int argc, char* argv[])also hier bekommt die main-funktion zwei Parameter übergeben.
argc und argv.argc steht für Argument Count ist sozusagen der Zähler der Argumente.
argv steht für Argument Vektor er enthält die einzelnen Argumente.Der Name eines Programms wird auch als Argument behandelt.
also wenn du ein Program in der Konsole aufrufst z.B.:
C:\> Program.exeso ist argc = 1 und argv[0] = "Program.exe"
wenn du deinem Program jetzt noch ein Argument übergibst z.B.
ne Textdatei die es einlesen soll sieht das dann so aus:C:\> Program.exe Textdatei.txthier ist argc = 2, argv[0] = "Program.exe" und argv[1] = "Textdatei.txt"
hoffe das ist einigermaßen verständlich, also die beiden Parameter
argc und argv sind dafür gedacht das du deinem Program bei Aufruf
noch bestimmte Argumente übergeben kannst. argc zählt deine Argumente
und in argv werden sie gespeichert.Also lautet die Antwort zu deiner Aufgabe:
Beim Aufruf der Funktion main() hat der erste Parameter argc mindestens
den Wert 1.
-
nicht ganz...
bei "C:\>Program.exe" wäre argv[0] = "C:\Program.exe"

-
LordJaxom schrieb:
Vorden schrieb:
Durch ausprobieren hättest drauf kommen können

Jetzt kann er nie wieder drauf kommen, weil Du eine Komplettlösung gepostet hast
:pEr kann es allerdings doch noch mal ausprobieren, meine Zeug davor vergessen und sich selbst ein AHA-Erlebnis abholen

-
Machine schrieb:
nicht ganz...
bei "C:\>Program.exe" wäre argv[0] = "C:\Program.exe"

Das hängt wohl vom System ab - wenn du das Programm per Doppelklick aus dem Explorer startest, steht dort vermutlich der komplette Pfad, wenn du es aus der Konsole startest, die Version, die du eingegeben hast.
-
echt? das wusste ich noch garnicht... werde ich gleich mal testen

-
Machine schrieb:
echt? das wusste ich noch garnicht... werde ich gleich mal testen

... und bei AIX ist es wieder ganz anders und bei MVS auch noch wieder anders....

Gruß,
Simon2.