Zeilenweise einlesen? Hilfe!
-
Hallo!
ich habe folgenden Quellcode:
pfile = fopen ("zeichnis.txt", "r");
char buf[2000];
char* p;fgets (buf, sizeof buf,pfile);
if (p = strchr (p, '\n'))
*p = '\0';
printf ("%c", buf);Ich würde ganz gerne zeilenweise auslesen, als Ergebnis bekomme ich in buf ein "Ö", wie kommt das??
PS:
Ist es möglich in einer string-variable Leerzeichen abzuspeichern??Danke, RawBurner
-
schau mal, welchen Typ buf hat. buf hat den Typen char*, wenn du nun den Inhalt von char***** ausgeben willst, dann ist es falsch den Ausgabe Parameter für char (ohne zu nehmen, was du willst ist %s und nicht %c und leerzeichen kannst du natürlich abspeichern.
if (p = strchr (p, '\n'))
du solltest p vorher initalisieren!
-
Hi!
Danke für den Tippp, das läuft jetzt...außer dem Punkt mit 'p'
Was heißt initialisieren und wie mache ich das??
Sorry bin voll der Anfänger!
MfG RawBurner
-
Das heißt im Prinzip, dass Du p einen Wert zuweisen solltest, bevor Du damit arbeitest. Selbiges geht jedenfalls aus Deinem Code nicht hervor.
-
Original erstellt von rawburner:
fgets (buf, sizeof buf,pfile);if (p = strchr (p, '\n'))
du liest die zeile in buf ein, suchst mittels strchr aber in p?
wäre nicht korrekter: if (p = strchr (buf, '\n'))