Tilläggsinformation för Solaris 10

Beteendeförändring i EOF-villkoret för STDIO getc-familjen

Program som byggts strikt efter C-standarden påverkas av beteendeförändringar av vissa biblioteksfunktioner. Ett exempel på detta är program som kompilerats med kompileringsläget cc -Xc eller c89. Beteendet har ändrats för följande biblioteksfunktioner:

En formell tolkning av 1990 C-standarden kräver att efter att ett EOF-villkor (End Of File) har angetts, returneras inga fler data från filen vid efterföljande åtgärder. Undantaget är om filpekaren positioneras om eller felet och EOF-flaggor explicit tas bort från programmet.

Beteendet för alla andra kompileringslägen är oförändrade. Gränssnitten kan läsa ytterligare, nyskrivna data från strömmen efter att EOF-indikatorn har angetts.

Åtgärd: Anropa fseek() eller clearerr() i strömmen om du vill att ytterligare data ska läsas efter att EOF-villkoret har rapporterats i strömmen.