Andere Programme einschließen....
-
Hallo,
ich habe da mal 'ne Frage. Kann man dem Programm "debug" werte übergeben und dieses Programm starten.
Daniel
-
KA ob du mit debug ein spezielles Programm meinst, aber grundsätzlich übergibt man Parameter so:
int main (int argc, char* argv[]) // Veränderter main-Kopf { // argc enthält die Anzahl der Elemente (mindestens aber 1, da in argv[0] der Programmname gespeichert ist // argv[(0) - (argc-1)] enthält die einzelnen Parameter
MfG SideWinder
-
Kannst du mir das per Sourcecode zeigen?
Daniel
-
Wenn du, wie SideWinder vermutet hat, wissen willst wie man beim Aufruf übergebene Parameter inerhalb des Programs abfragen und bearbeiten kannst, dann guck mal ob dir das hier hilft:
Parameter von Main
Das Unterprogramm "main" kann, wie jede andere Funktion, Parameter besitzen. Doch keine selbst gewählten, sondern nur bestimmte. Doch warum braucht main Parameter? Denken Sie einmal an alle Betriebssystembefehle: "dir *.exe", "copy . a:" oder "ls -la". All diese Befehle sind aus 2 Teilen aufgebaut: Befehl und Parameter. Und genau diese Parameter können Sie mit den main-Parametern abfragen.....
void main(int argc, char *argv[])
....Bei "argc" handelt es sich um eine normale int Variable (engl. "Argument count", Parameter-Zähler"). In ihm steht die Anzahl der angegeben Parameter.
#include <conio.h> #include <stdio.h> void main(int argc,char *argv[]) { int i; clrscr(); printf("Es wurden %d Parameter angegeben",argc); for (i=0; i<argc;i++) printf("Parameter %d: %s\n",i,argv[i]); getch(); }
Erklärung:
* Bei der 1. Ausgabe wird ausgegeben, wie viele Parameter insgesammt angegeben wurden. Aber Achtung: Es gibt immer mindestens einen Parameter! In argc[0] steht nämlich die aufgerufene EXE-Datei. Außerdem: da die Liste bei argv[0] anfängt, ist der maximal gültige Parameter argv[argc-1]!
* In der For-Schleife werden alle Parameter, inklusive ihrer Nummer, ausgegeben. Experimentieren Sie hier mit Parametern, um das System zu vertehen!