Ich habe ein Problem, ich konstruiere eine Zeichenfolge in einer Schleife und die Ausgabe dieser Zeichenfolge zu Stout zeigt die Zeichenfolge und ein Zeichen "y" mit zwei Punkten darüber als das letzte Zeichen.Wofür steht 'y' in der Ausgabe in C?
Was ist das?
Ich schaffe die Zeichenfolge in dieser Funktion:
char get_string(char *buf, int ble, FILE *fp, char del)
{
int i = 0;
int c;
char result;
memset(buf, 0, BUFLEN);
do {
c = fgetc(fp);
if (c == del) {
buf[i] = '\0';
result = c;
break;
} else if(c == '\n') {
buf[i] = '\0';
result = '\n';
break;
} else {
buf[i] = c;
i++;
}
} while (c != EOF);
return result;
}
und dann die buf verwenden und das Ergebnis als in einer anderen Funktion folgt:
char pair[BUFLEN];
char end;
do {
end = get_string(pair, BUFLEN, fp, ';');
printf("Result: %s\n",pair);
} while (pair != NULL);
Die letzte Iteration der oben Druckt „Ergebnis: y "Ich habe keine Ahnung warum.
Können Sie Ihren Code posten? – cschol
Ich habe meinen Code hinzugefügt – goe