folgendes Problem:
ich möchte ein Programm erstellen, das
z.B. wie beim Notepad die bei der Kommandozeile angegebenen Parameter ausliest. (notepad.exe „C:\autoexec.bat“ )
Hi,
wenn Du eine Anwendung für die Konsole schreibst, dann heist es ja
imt main(int argc, char \*argv[])
da steht dann in argc die Anzahl der übergebenen Argumente und in argv die Argumente als string. Da ist aber zu beachten, daß argv[0] der aktuelle pfad ist, und argc mindestens den wert 1 hat.
bei Windowsprogrammen werden die Parameter mit dem dritten Argument von WinMain() übergeben. Der heist bei VC++ ‚lpCmdLine‘. Er ist aber nicht so schön aufgeteilt, sondern „Am Stück“. Zerlegen mußt Du dann selber.
grüße Micha
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
ganz so schlimm ist es nicht:
in VC++ sind immer zwei globale Variablen deklariert:
int __argc;
char ** __argv;
auf die man mittels
extern int __argc;
extern char ** __argv;
zugreifen kann.
Diese entsprechen den argc bzw. argv von main().
mfg
Christof
Hi,
wenn Du eine Anwendung für die Konsole schreibst, dann heist
es ja
imt main(int argc, char *argv[])
da steht dann in argc die Anzahl der übergebenen Argumente und
in argv die Argumente als string. Da ist aber zu beachten, daß
argv[0] der aktuelle pfad ist, und argc mindestens den wert 1
hat.
bei Windowsprogrammen werden die Parameter mit dem dritten
Argument von WinMain() übergeben. Der heist bei VC++
‚lpCmdLine‘. Er ist aber nicht so schön aufgeteilt, sondern
„Am Stück“. Zerlegen mußt Du dann selber.