|
| 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
| |
|
|