Aufgabe 4 - fgets zerlegen

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Aufgabe4 - fgets zerlegen
Also irgendwie bin ich heute ganz blöd oder ich weis auch nicht.

Ich kriege es einfach nicht hin, das was ich von fgets bekomme

in einzelne Strings zu zerlegen um sie dann in ein Array zu speichern :wand:


strtok macht das ganz gut

siehe auch anderer thread

scanf statt fgets
Hi,
nachdem ich als CEler die Aufgaben nicht machen muss bin ich jetzt erst hier angelangt. g

Mein Problem ist:
ich versuche im mom scanf zum auslesen zu verwenden, aber da passt wohl was nicht…
Vielleicht mag mir ja jemand helfen? :smiley:

[code]int main(int argc, char* argv[]){
char** args;
errno=0;

if((args=(char **)malloc(sizeof(char)*ARGS_SIZE))==NULL){
    perror("Kein Speicher fuer args");
    exit(EXIT_FAILURE);
}

while(1){
    int i=0;
    printf("<meins>");
    while(1){
        scanf("%s",args[0]);
        if(args[i]==NULL)break;
        printf("hallo");
        i++;
    }
    printf("%s\n", args[0]);
    if(args[0]==NULL)printf("args[0] ist NULL!\n");
    printf("%s\n", args[1]);
    break;
}
return 0;

}[/code]


hm das scanf “wartet” auf ein newline.
nachdem nicht nach jedem argument ein newline kommt, kannst du so nicht arbeiten.
es wäre möglich, scanf zu verwenden, wenn man die anzahl der argumente vorher wüsste.
also falls ich da jetzt nicht falsch liege.

btw
scanf(“%s”,args[0));
if(args[i)==NULL)break;

kann es sein, dass du da beim scanf args[i) meinst, und nicht args[0)?

Yves, es ist immer noch so, dass man “Special Syntax deaktivieren” ankreuzen kann, aber trotzdem keine sachen wie z.b. dieses [i… machen darf :confused:


natürlich meinte ich args[i) … war einer von vielen Zwischenschritten der post oben g
habs jetzt letztenendes doch mit fgets gemacht. ich kann ja nicht wissen, wieviele argumente irgendein user da eingeben will :wink: