Læs float fra fil

Tags:    c++

Jeg skulle gerne læse et float fra en fil til programmet, men det kan ikke lykkedes mig, jeg kan kun få lov at læse det som char, hvad skal jeg gøre?
//Søren



7 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
F.ex:

Fold kodeboks ind/udKode 




Ja noget i den stil, men der flere linjer i filen, som gerne skulle læses til hver sin float eller [*] (håber i forstår)



Ja noget i den stil, men der flere linjer i filen, som gerne skulle læses til hver sin float eller [*] (håber i forstår)

Jeg har selv fundet ud af det nu, mem hvis du vil have points så smid et svar
//Søren



Jeg vil helst ikke have point.

Lav selv et svar hvori du beskriver hvad du gjorde, og accepter dette svar.



Jeg vil helst ikke have point.

Lav selv et svar hvori du beskriver hvad du gjorde, og accepter dette svar.

Det er aligevel første gang jeg har prøvet det, men det er da op til dig... Tak for hjælpen!

//Søren



Glemte at skrive hvad jeg havde gjort:

float et[3];
int x = 1;

ifstream input_fil("filen.txt", ios::in | ios::binary);
while(! input_fil.eof()){
input_fil >> et[x];
x++;
}

Tallene fra hver sin linje (i dette tilfælde 3 linjer - et[3]) skulle nu lige i hver sin float (et)
//Søren



Ja, det ser jo ok ud, men der er en lille fejl, den vil (sansynligvis) læse sidste tal 2 gange. Hvilket følgende kode viser, den viser også hvordan man kan undgå at få læst sidste tal to gange.

Fold kodeboks ind/udKode 


Grunden til at den læser sidste tal to gange er at eof først fortæller at den er ved enden af filen når man har forsøgt at læse ud over enden på filen.

Den første loop læser 0.3 to gange, den sidste gør ikke.



t