![]() |
Falsche Ausgabe ( C )
Kann mir mal wer erklären, warum wenn ich als Beispieleingabe
abc def ghi eingebe, ich als Ausgabe nur abc bekomme? char buffer[102]; char *ptr; ptr = (char *) malloc(1 * sizeof(char *)); } char *speicher; speicher = (char *) malloc(102 *sizeof(char)); } int i = 1; int k = 0; while(fgets(buffer, 102, stdin) != NULL) { int j = 0; while(j < 102) { speicher[k] = buffer[j]; j++; k++; } ptr[i-1] = speicher[(i * 102) - 102]; i++; ptr = (char *) realloc(ptr, i * sizeof(char *)); speicher = (char *) realloc(speicher, i * 102 * sizeof(char)); //ausgabe } printf("%s\n", speicher); |
a) poste mal den completten code. da gehen mehrere geschweiften klammern zu bei denen der entsprechende beginn fehlt.
b) verwende das Code:
code |
ptr = (char *) malloc(1 * sizeof(char *));
Ist Käse da sizeof(char *) immer 4 byte sind auf 32 Bit OS. fget hört bei einem \n auf zu lesen. Deine Eingabe abc (enter) schaut so aus abc\r\n. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:24 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.