Du müsstes erstmal erklären was du erreichen willst. Geht es nur um das einlesen und wieder ausgeben, würde das hier reichen:
Code:
int main() {
char string[100]; /* Speicherplatz auf dem Stack für 100 Zeichen reserviert */
printf("Schreib einen Satz: ");
fflush(stdout); /* damit der text sicher geschrieben wird */
fgets(string, sizeof(string), stdin); /* fgets() berüchsichtigt bereits das NUL am Ende */
puts(string); /* Keine aufwändige Format-Strings, dafür aber mit New-Line */
return 0;
}
Willst du dynamisch speicher allozieren um z.B. eine Liste von Zeilen einzulesen, berücksichtige bitte, dass malloc() auch NULL zurückgeben kann, wenn kein Speicher mehr vorhanden ist:
Code:
int main() {
char *string; /* Speicherplatz auf dem Stack für einen Pointer auf String reserviert */
string = (char*)calloc(100, sizeof(char)); /* Speicherplatz auf dem Heap für 100 Zeichen reserviert */
if (string == NULL)
return 1; /* Fehler, kein Speicher mehr! */
....
free(string); /* Speicherplatz wieder
}
Lesezeichen