fscanf

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/fscanf_141761/page_1 - zur Vollversion wechseln!


Vivo schrieb am 03.05.2005 um 13:14

Hio,

Es geht in meinem kleinen Programm nur um die Demonstration von fscanf. Mir ist klar dass man das Problem auch anders lösen kann!

Es wird aus einem File mit folgender Formatierung gelesen:

.Vorname,Nachname,Wohnort
.Vorname,Nachname,Wohnort
.Vorname,Nachname,Wohnort
.
.
.

Das Problem mit fscanf ist wenn ich es so auszulesen versuche

Code:
fscanf(stream,".%s,%s,%s\n",vorn, nachn, wohn);

haut das nicht hin. Ich denk mal es liegt daran, dass er strings erwartet, jedoch nur zeichenfolge ohne terminierung vorfindet.

Gibt es eine möglichekeit fscanf trotzdem zu verweden?

Mfg

[EDIT]
Achja, ich habe vergessen zu erwähnen dass wenn ich das so löse wie angegeben, dass er zb. in vorname bis zum ersten '\n'einliest und nachname bis zum nächsten ...


Vivo schrieb am 03.05.2005 um 14:08

Code:
fscanf(stream, ".%40[^,],%80[^,],%80[^,]\n", vorn, nachn, wohn);

Habs nun selbst gerafft ... :)


Taltos schrieb am 03.05.2005 um 20:01

gibts da eine verständliche erklärung oder so, warum das so ist? copy/paste helpfile oder so?
ich habs zwar gecheckt ca., aber wie man das [^,], genau verwendet is mir net klar.
v.a. warum man nachdem man das ',' ausgenommen hat, es gleich nachher noch mal hinschreiben muss (nach der ])

hab leider selbst grad keinen compliler/buch zur verfügung... und mit google hab i nix gefunden


that schrieb am 03.05.2005 um 20:32

Zitat von Taltos
v.a. warum man nachdem man das ',' ausgenommen hat, es gleich nachher noch mal hinschreiben muss (nach der ])

Weil du alles außer einem Komma in die Variable haben willst, und dann natürlich ein Komma kommen muss, das daher direkt hinter der Klammer steht.


Taltos schrieb am 03.05.2005 um 21:19

ok, thx, alles klar..




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025