Kommandozeilenargumente in dynamisches char-Array
-
Also ich hab folgendes:
int *a; char *b; a = (int *)malloc(aa*sizeof(int)); b = (char *)malloc(bb*sizeof(char)); for(i = 1, j = 0; i < argc; i+=2, j++) a[j] = atoi(argv[i]); for(i = 2, j = 0; i < argc; i+=2, j++) b[j] = argv[i];
Das Problem befindet sich in der zweiten for-Schleife.
Die erste Schleife funktioniert.Hier die Warnung vom Compiler: warning: assignment makes integer from pointer without a cast
Wenn ich bei der zweiten Schleife ebenfalls mit atoi konvertiere, dann
kompiliert er zwar ohne Warnung, funktionieren tuts aber trotzdem nicht.Thx
-
Schauen wir's uns mal an:
int main(int argc, char **argv) { return 0; };
argv ist ne sog. Stringtabelle (eigentl. Pointer auf Pointer, aber wurscht).
Deshalb solltest du dein zweites Array ebenfalls so deklarieren. Allerdings versteh ich nicht ganz wieso du die cmd-args in ein weiters Array packen willst.