000
24.02.2004, 11:18 Uhr
mike
Pinguinhüpfer (Operator)
|
Hi! Ich möchte ein Programm schreiben welches alle Argumente auslist ./test -a1 x1 x2 -a2 x3 Ausgabe sollte dann so aussehen: x1,x2 x3 Nur leider häng ich schon am Anfang
C++: |
#include <stdio.h> #define BUFFER 1024
char buffer[BUFFER]; unsigned left = BUFFER; void getpart(char **start, char **end);
int main(int argc, char *argv[]) { int i; char **c; char **start; char **end;
c = argv; /*erstes*/ start = c;
*c = *(c + 2); /*drittes*/ end = c; getpart(start,end); return 0; }
void getpart(char **start, char **end) { printf("Anfang \"%s\" Ende \"%s\"\n",*start, *end); if(*start == *end) /*Zeigen auf das gleiche Element*/ printf("FEHLER\n");
size_t len; while(**start != **end) { len = left - strlen(*start)+1; left =- len; strncat(*start,buffer,len); *start = *(start + 1); printf("PART %s\n",*start); } }
|
c in main zeigt anscheinend auf die richtigen Element printf("%s",*c) zeigt immer das Richtige an. Nur in getpart stimmt nix mehr. Da zeigt dann start und end beide auf end . Eine Frage hätte ich noch: char **c; Welchen Datentyp ist c?
Danke im Voraus!!!! mfg --
Dieser Post wurde am 24.02.2004 um 11:19 Uhr von mike editiert. |