Problemet er at den hopper ut på EOF før filen er ferdig.
Hva er problemet?
>Hva er problemet?
Sannsynligvis at du åpner en binærfil som tekstfil.
Tor-Einar
--
Tor-Einar Jarnbjo
bj...@cs.tu-berlin.de
Tel: +49 30 41107080
Fax: +49 89 6661718747
Hvis c er deklarert som en char, vil en byte med verdi 255 i fila føre
til at c blir -1, som gjerne er det EOF er. c må være en int for at
det skal funke.
--
Frode Vatvedt Fjeld
Tor-Einar Jarnbjo wrote in message
>Sannsynligvis at du åpner en binærfil som tekstfil.
>
Det var det ja, takk for tipset.
Jan Kjetil
Tror at det er oppgitt altfor få opplysninger til at man kan trekke den
konklusjonen. Han sa ikke en gang om det dreier seg om en binærfil
eller tekstfil i utgangspunktet. Helst bør det postes et lite, men
komplett program som demonstrerer problemet.
Men en ting som jeg vil foreslå å sjekke er: Hvilken type har c? Det er
alt for vanlig å gi den typen char, men husk at getchar skal returnere
alle verdier som går i en *unsigned* (merk dette) char og i tillegg
verdien EOF. Typen char blir altså for liten, så c må være int.
Yngvar
>Tror at det er oppgitt altfor få opplysninger til at man kan trekke den
>konklusjonen. Han sa ikke en gang om det dreier seg om en binærfil
>eller tekstfil i utgangspunktet. Helst bør det postes et lite, men
>komplett program som demonstrerer problemet.
Tja, han skrev jo at han hadde porta programmet fra Unix til Windows,
altså gikk jeg ut i fra at det virka under Unix. Den eneste relevante
forskjellen mellom Unix og Windows jeg kunne komme på, er at MS-DOS
skiller fra operativsystemet sin side mellom tekst- og binærfiler.
Unix, og vel ingen andre operativsystemer gjør dette, og det er derfor
ganske vanlig under Unix å ikke spesifisere at det er en binærfil du
vil åpne. Hadde c hatt feil type, ville sannsynligvis programmet ikke
virka under Unix heller.
| > >Hva er problemet?
| >
| > Sannsynligvis at du åpner en binærfil som tekstfil.
|
| Tror at det er oppgitt altfor få opplysninger til at man kan trekke den
| konklusjonen. Han sa ikke en gang om det dreier seg om en binærfil
| eller tekstfil i utgangspunktet. Helst bør det postes et lite, men
| komplett program som demonstrerer problemet.
Tidligere erfaringer (bitre som saadan) gjorde at en her kunne gi et
svar som med stor sannsynlighet ville loese problemet (noe det ogsaa
gjorde). Hva er problemet da?