Kryptische Parameter in main(...)
-
was bIce meinte war glaub ich das du, angenommen dein Programm heist "test.exe" dem programm beim Aufruf Parameter in der Kommandozeile mit übergeben kannst.... also : "test.exe test.doc"
So hast du die Möglichkeit einem Kommandozeilenprogramm direkt bei Start einen Parameter in diesem Fall einen Dateinamen zu übergeben.Der int Wert steht dann für die Anzahl der Argumente und der zweite für eine Referenz auf den ersten Speicherbereich eines Feldes mit Char-Elementen.
-
wie alt sind deine buecher? iostream.h gibt es nicht mehr. zumindest nicht im standard.
-
iostream.h gibt es nicht mehr. zumindest nicht im standard
Lustige Aussage
Denn:
A) Laut Standard gab es <iostream.h> nie. Die Prä-Standard-Streams waren nie standardisiert. Das "mehr" ist also zuviel.
Schaut man in die reale Welt (die ohne Standard), dann ist <iostream.h> nach wie vor kompatibler als <iostream>. Das wird sich zwar mit der Zeit angleichen, die Aussage aber, dass <iostream.h> nicht mehr existiert ist zweifelsohne falsch.
Nichts desto trotz unterstütze ich natürlich ebenfalls die Initiaive: "Schwimm im Standardstream. Inkludiere <iostream>"
-
lowman schrieb:
#include <iostream.h> int main() { ... }
#include <stdio.h> #include <iostream.h> int main(int nNumberofArgs, char* pzArgs[]) { ... }
es sind beide Beispiele(ISO C++ mäßig) falsch
es heißt nähmlich nicht iostream.h sonder iostream
using namespace std;und stdio.h gibts in C++ auch nicht, das heißt cstdio
-
und stdio.h gibts in C++ auch nicht
Sicher. Die C-Header sind laut C++ Standard zwar "deprecated", geben tut's sie aber noch.
Mal da von ab: Das Mischen von C++- (<iostream>) und C I/O (<stdio.h>) ist in den meisten Fällen käse und sollte nur gemacht werden, wenn man es wirklich braucht und wenn man die Konsequenzen kennt.
-
hi
was währen den die Konsequenzen wenn ich mal so ganz dumm fragen darf????
Gehen wie mal davon was iostream ist nicht Standard. Was soll man statt dessen benutzen um den Standard zu erfüllen????
-
Gehen wie mal davon was iostream ist nicht Standard. Was soll man statt dessen benutzen um den Standard zu erfüllen???
Hä? Sicher ist <iostream> Standard. Mehr geht nicht mehr. Also: <iostream> inklduieren und lustig mit cout, cin und konsorten rumhantieren.
was währen den die Konsequenzen wenn ich mal so ganz dumm fragen darf????
Du musst sicherstellen, dass C und C++ I/O synchronisiert sind, sync_with_stdio als niemals mit false aufgerufen wurde.
Die Synchronisation kostet aber natürlich etwas Zeit.
-
wobei wenn du <iostream> inkludierst deine exe um einiges größer wird als mit <iostream.h> - jedenfalls bei msvc++ 6.
standard? pfff!
-
no_skill schrieb:
wobei wenn du <iostream> inkludierst deine exe um einiges größer wird als mit <iostream.h> - jedenfalls bei msvc++ 6.
*g*
schon mal das programm dann auf einen anderen compiler protiert? oder gar eine andere platform.btw:
um wieviel wird das programm denn groesser?
100KB?ts, das ist egal - denn bedenke, dafuer sind die neuen IOStreams wesentlich performanter.
schon mal die STLPort IOStreams getestet? die sind auch gross, aber pfeilschnell.
nonstandard?
pfff!
-
554 zu 284.
ich habs noch nicht unter anderen kompielern probiert, aber ich kann ja g++ anwerfen, wenn ich heimkomm.
-
auf meinem VC++7 sind es ca. 120 KB
das ist sowas von egal.
das wird einmal geladen und dann ists gut - die runtime ist das wichtigerebtw: dieser 'overhead' ist konstant, dh auch bei einem 10MB programm sind es nur 120KB
ausserdem werden die compiler da immer besser...
-
hm... bei einer 200 kb exe macht ein overhead von 170 kb aber schon was aus!
aber im endeffekt hast du recht - es ist egal!
-
no_skill schrieb:
hm... bei einer 200 kb exe macht ein overhead von 170 kb aber schon was aus!
aber im endeffekt hast du recht - es ist egal!dann linke dir C++ library doch dynamisch - und schon ist alles weg
-
leider weiß ich nicht wie das geht...
-
leider weiß ich nicht wie das geht...
Ach du grüne Neune. Da wirst du wohl tatsächlich mal in dein Compiler-Handbuch schauen müssen
-
no_skill schrieb:
leider weiß ich nicht wie das geht...
schonmal was von der Hilfe deines Compilers gehört ?....
-
Hauptmann schrieb:
no_skill schrieb:
leider weiß ich nicht wie das geht...
schonmal was von der Hilfe deines Compilers gehört ?....
hauptmann... jemand der darauf besteht das konstruktionen wie
void foo(char &bar[100]);
iso standard wären brauch mich nicht blöd anmaulen....
-
no_skill schrieb:
hauptmann... jemand der darauf besteht das konstruktionen wie
void foo(char &bar[100]);
iso standard wären brauch mich nicht blöd anmaulen....
aber er hat recht!
lies deine compiler doku, da stehts drinnen.er hat dich nicht bloed angemacht, sondern du gerade ihn.
sein vorschlag ist doch vernuenftig, oder?
-
nachdem humesikins das auch schon geschrieben hat, hätte hauptmann das nicht auch schreiben brauchen. das war nur sarkastisch gemeint.
wegen ich ihn blöd gemacht: das basiert auf einem post von gestern, aber du hast recht ich hätte das vielleicht nicht so schreiben sollen.
-
nachdem humessikins das auch schon geschrieben hat, hätte hauptmann das nicht auch schreiben brauchen
Da bin ich ganz deiner Meinung. 11 Stunden später einen Beitrag mit exakt dem selben Informationsgehalt, dass ist in der Tat sehr überflüssig