Article View: fido.ger.c_echo
Article #6fscanf
From: Horst Kraemer
Date: Wed, 10 Sep 1997 00:00
Date: Wed, 10 Sep 1997 00:00
44 lines
2096 bytes
2096 bytes
Hallo Peter,
08 Sep 97 06:57:56, <Peter Schuette> to <Alexander Schon>:
> AS> fprintf(stream, "%d\n", x);
> AS> fprintf(stream, "%s\n", string1);
> AS> fprintf(stream, "%s\n", string2);
> AS> Nun dachte ich mir, dass das Lesen aehnlich funktionieren sollte:
> AS> fscanf(stream, "%d", &x);
> AS> fscanf(stream, "%s", string1);
> AS> fscanf(strean, "%s", string2);
> Das Lesen funktioniert auch genauso. Allerdings (ueber)liest fsanf NICHT
> automatisch \n.
Doch, doch. Es ueberliest _nach_ Einlesen des Eingabeelements %... zwar nicht
den eventuell an den Daten _dranhaengenden_ white-space, dafuer aber beim
naechsten Eingabe-Element den gesamten _fuehrenden_ whitespace. (SPACE,'\n',
'\r','\f','\v','\t'). Ausnahme %c %[. Was normalerweise auf dasselbe
herauskommt - es sei denn man will scanf explizit _vor_ dem naechsten
Eingabeelement mit dem naechsten \n synchronisieren, a la Pascals 'readln'.
Dies kann man wohl mit
fscanf(f,"%*[^\n]"); /* Vor dem naechsten '\n' stehenbleiben */
oder
fscanf(f,"%*[^\n]%*c"); /* Naechstes '\n' weglesen */
erreichen <wuerg>. Ist manchmal nuetzlich, wenn eine Textzeile so aussieht
4711 blabla 3.14
und man pro Zeile nur den fuehrenden int einlesen will.
while ...
fscanf(f,"%d%*[^\n]",array[i]);
cu
Horst
e-mail: horst.kraemer@berlin.snafu.de
Technical Details
Message-ID:
<MSGID_2=3A2410=2F249.5=40fidonet_7e894d95@fidonet.org>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<MSGID_2=3A2452=2F260.25_d43b1118@fidonet.org>Show Full Headers
Complete Article Headers
X-Google-Language: GERMAN,ASCII-7-bit X-Google-Thread: 100a0f,635939d122be81b7 X-Google-Attributes: gid100a0f,public From: Horst.Kraemer@p5.f249.n2410.z2.fidonet.org (Horst Kraemer) Subject: fscanf Date: 1997/09/10 Message-ID: <MSGID_2=3A2410=2F249.5=40fidonet_7e894d95@fidonet.org> X-Deja-AN: 272306522 References: <MSGID_2=3A2452=2F260.25_d43b1118@fidonet.org> X-FTN-Path: 2410/249 24/903 888 777 2480/2 13 843 X-Comment-To: (Peter Schuette) X-FTN-Seen-By: 2480/300 412 843 861 3500 8013 2487/0 2490/2001 5001 2494/28 380 X-FTN-Tearline: FMail 1.02 X-FTN-Domain: Z2@fidonet Organization: -= Berlin, tierra florida =- X-Gateway: FIDO .. gamma.ray.camelot.de [FIDOGATE 4.1.5] Newsgroups: fido.ger.c_echo