Kommandozeilenparameter
-
Hallo,
ich will in einem c- Programm Kommandozeilen parameter übergeben um diese dann in einem globalen char array zu speichern. Da ich aber nicht weiß, wie lang die übergebenen Parameter sind, stehe ich vor einem ProblemKann mir da jemand einen Trick verraten?? Oder kann ich irgendwie die Länge eines Arrays im Nachhineine verändern?? Oder sollte ich einfach mit Pointern arbeiten??
Gruß,
jacob
-
main() wird ein char ** übergeben. mach doch einfach nen globalen char * und speicher dann den von main da. musst halt auch die anzahl an inhalten speichern. wenn dir das net passt dann liste / sack / queue
bsp:char *argv_global; int argc_global; void func() { fprint("%i Parameter übergeben\n", argc_global); for (int i = 1; i < argc_global; i++) printf("%i. Parameter: %s\n", i, argv_global[i]); } int main (int argc, char **argv) { argc_global = argc; argv_global = argv; func(); }
<edit>
nu ja es war halt printf und net fprintc++ lässt grüssen
</edit>[ Dieser Beitrag wurde am 19.10.2002 um 22:19 Uhr von Korbinian editiert. ]
-
Hallo ...
einige Compiler definieren '_argc' (bzw '__argc') und '_argv' ('__argv') als externe Variablen.
-
Danke habs so gemacht!!
-
ging doch net