Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » fscanf Problem

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
20.01.2006, 22:28 Uhr
Frido



Ich möchte gerne aus einer .csv Datei was mit fscanf auslesen hab nur ein Problem.
Und zwar soll das ausgelesen werden '2005-01-01 00:00:05.196',2.90 (mehrermale).

Mein fscanf sieht so aus:
fscanf(fp,"'%[^ ] %[^']',%lf\n",&DATEN_in.Datum, &DATEN_in.Zeit, &DATEN_in.Temperatur);

Nun gebe ich den struct DATEN_in wieder aus.
Nun passiert es das wenn ich DATEN_in.Datum auch die Zeit ausgeben wird, und danach nochmal die Zeit und dann die Temperatur.

Kann mir einer mal erkläreren warum DATEN_in.Datum die Zeit mit einließt.


mfg
--
http://spielwelt14.monstersgame.net/?ac=vid&vid=28103555
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
20.01.2006, 22:33 Uhr
Pler
Einer von Vielen
(Operator)


Was ist
%[^ ]
?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
21.01.2006, 09:36 Uhr
Frido



Hatte mich schlau gemacht, das soll eine Text bis zu einem Leerzeichen lesen. Das zeite Kästchen soll dann ja bis zu einem Hochkomma lesen danach erfolgt ja ein komma und dann soll die Temperatur eingelesen werden so wie hier es steht ['2005-01-01 00:00:05.196',2.90 ].

Das mit der Temperatur und der Zeit passt ja. Aber beim Datum wird auch nochmals die Zeit mit gelesen.

Hab auch durch ein bischen umstellen versucht das zuändern aber ohne Erfolg. Kamm eher noch größerer Müll raus.


mfg
--
http://spielwelt14.monstersgame.net/?ac=vid&vid=28103555
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
21.01.2006, 14:03 Uhr
dirweis



probier mal:

C++:
fscanf(fp, "'%s %s',%lf\n,",DATEN_in.Datum, DATEN_in.Zeit, &DATEN_in.Temperatur);
/* vorausgesetzt, bei datum und zeit handelt es sich um strings */

die referenzierungen verblüffen mich etwas, bei string-variablen sind sie unnötig, da diese ja sowieso schon auf adressen zeigen.
--
main(){int x=0,y=1228443207;for(;x<105;++x,y=x<32?y:x<64?3392743058u:x<96?611502372:137)putchar((x+1)%21?y&1<<x?64:32:10);}
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
21.01.2006, 14:48 Uhr
(un)wissender
Niveauwart


Die sind nicht nur unnötig, sondern auch falsch.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: