String von Eingabe in char-Array einlesen und ausgeben
-
Hi ihr!
Versuche gerade im Titel genanntes 'Programm' zu schreiben.
Hier mal der Code:
int main(void) { char *string[5]; char input[25]; int i = 0; while(fgets(input, 25, stdin) != NULL) { string[i] = input; i++; if(i == 5) { for(int j = 0; j < 5; j++) { printf("%s\n", string[j]); } return EXIT_SUCCESS; } } return EXIT_SUCCESS; }
Das Programm soll nichts anderes machen, als 5 nacheinander folgende Eingaben einzulesen, in ein Array abzuspeichern und anschließend auszugeben.
Jedoch beim ausühren passiert folgendes:
Hallo Welt wie gehts dir? dir? dir? dir? dir? dir?
Also er scheint nur das letzte Element im Array zu speichern.
Hoffe, ihr könnt mir helfen.
-
C-Grundlagen:
strcpy(string[i],input); stattstring[i] = input;
-
Oh mann. Klar. Damit weiterzuarbeiten klappt. Vielen Dank
-
Bleibt trotzdem Müll.
Dein "string" ist ein Array von 5 Zeigern auf char, die auf undefinierten Speicher zeigen, in den du reinkopierst.
Das kann nicht funktionieren, außerdem hast du jeweils (meistens) ein '\n' am Ende deiner Strings stehen.