/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
begynder problem ??
Fra : Anders Jensen


Dato : 04-07-01 08:55

Jeg har et lille problem - som jeg håber, at der er nogen der kan forklare
for dumme lille mig

float a;
......
.......
ofstream m_fil("TEMP.DAT",ios::in);
m_fil.seekp( hvorsomhelst );
a=154;
m_fil.write((char *)&a,sizeof(ab));

Der sker det, når man tjekker sin fil om svinet nu har indført a-værdien. Så
viser det sig, at alle værdier undtagen 154 ( ell -154 ) placerer sig pænt
på sin plads. Ved a = 154 skrives værdien ikke. Der indskrives en værdi -
ikke den tidligere tildelte a-værdi.- Men den i filen til venstre stående
værdi .
Se jeg kan jo godt gennemskue, at problemet er type-relateret ..Og problemet
forsvinder da også når jeg skifter fra float til f.eks double. - Men hvad
skyldes det, at systemet fejler ved 154 specifikt, når float bruges ???



--

LINUS - Jeg har forstået virkeligheden - så undlad venligst, at forvirre
mig med fakta.
linus@post2.tele.dk



 
 
Benny Andersen (09-07-2001)
Kommentar
Fra : Benny Andersen


Dato : 09-07-01 21:59

On Wed, 4 Jul 2001 09:55:04 +0200, "Anders Jensen"
<linus@post2.tele.dk> wrote:

>Jeg har et lille problem - som jeg håber, at der er nogen der kan forklare
>for dumme lille mig
>
>float a;
>.....
>......
>ofstream m_fil("TEMP.DAT",ios::in);
>m_fil.seekp( hvorsomhelst );
>a=154;
>m_fil.write((char *)&a,sizeof(ab));
>
>Der sker det, når man tjekker sin fil om svinet nu har indført a-værdien. Så
>viser det sig, at alle værdier undtagen 154 ( ell -154 ) placerer sig pænt
>på sin plads. Ved a = 154 skrives værdien ikke. Der indskrives en værdi -
>ikke den tidligere tildelte a-værdi.- Men den i filen til venstre stående
>værdi .
>Se jeg kan jo godt gennemskue, at problemet er type-relateret ..Og problemet
>forsvinder da også når jeg skifter fra float til f.eks double. - Men hvad
>skyldes det, at systemet fejler ved 154 specifikt, når float bruges ???
>
Filen åbnes måske default i text-mode. Float er binær data. ( 4 bytes
hos mig). ofstream m_fil("TEMP.DAT",ios::in| ios::binary) kan, ifølge
min MSDN hjælp, anvendes til binære filer. En af de 4 bytes bliver
sikkert til 10 eller 13, når floaten skal repræsentere 154.
>
>
>--
>
> LINUS - Jeg har forstået virkeligheden - så undlad venligst, at forvirre
>mig med fakta.
>linus@post2.tele.dk
>
>


Anders Jensen (31-07-2001)
Kommentar
Fra : Anders Jensen


Dato : 31-07-01 13:27

Sandt Tak



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste