Cecko

Pavel Troller patrol@sinus.cz
Sobota Říjen 20 06:16:20 CEST 2007


Zdravim,
  ano, presne takto je to i ve vsech POSIXovych systemech, on DOS se
taky inspiroval od toho, co tu uz predtim bylo :-):

fgetc(3)
SYNOPSIS
       #include <stdio.h>

       int fgetc(FILE *stream);

DESCRIPTION
       fgetc() reads the next character from stream and returns it as an unsigned char cast to an int, or EOF on end of file or error.


Dulezita je tu ta formulace "returns it as an unsigned char CAST TO AN INT",
cili "znak pretypovany na INT" prave proto, aby se dalo vratit EOF, ktere
do mnoziny unsigned char nepatri.
  Pokud je v tom kompilatoru int == char, tak to opravdu nemuze poradne
chodit...
  S pozdravem Pavel Troller

> To je nejake divne.. vid nedavny thread, kde wek nacal K&R C, a v
> ktorom sme dospeli k tomu, ze int je minimalne 16-bitovy. Ta funkcia z
> vasho kodu vracia signed int, co je podla pravidiel C totozne s int a
> teda min 16-bitove. EOF v tomto pripade je -1, vnutorne reprezentovane
> ako 0xFFFF, co je nezamenitelne s jednobytovym charom. Pokial sa dobre
> pamatam, presne takto bol reprezentovany EOF pod DOS-om, kde napr.
> fgetc() formalne vracal int, ale realne mohol vratit len char (alebo
> unsigned char). Bolo to takto prave kvoli hodnote EOF.
> 
> miro
> 
> --- Milo? ?ula <sula@rps.cz> wrote:
> 
> > No to prave tak není. Je to napsane v CCS PCWH kompilatoru a ten
> > ukazuje
> > ze signed int je signed int8 tj. 8mi bitovy typ promenne. Proto mi to
> > vrta hlavou. Jinak to je originální driver napsany primo tou firmou a
> > je
> > prikaldan ke kompilatoru.
> > 
> > Milos
> > 
> > -----Original Message-----
> > From: hw-list-bounces@list.hw.cz [mailto:hw-list-bounces@list.hw.cz]
> > On
> > Behalf Of Ales Prochaska
> > Sent: Friday, October 19, 2007 9:53 PM
> > To: hw-list@list.hw.cz
> > Subject: Re: Cecko
> > 
> > Normáln? se to d?lá tak, ?e se vrací n?jaký "signed 16" typ. Byte se
> > roz?í?í, p?i?aruje se k n?mu 257. hodnota, pak se to testuje a pak se
> > to zase o?ízne na byte... Za n?které programátorské techniky by se
> > m?l
> > zp?tn? odebírat diplom a nemá-li jej doty?ný pachatel, pak mu soudn?
> > na?ídit nav?t?vování sch?zek Anonymous Software Engineers.
> > 
> > Ale? Procháska
> > 
> > 
> > 
> > _______________________________________________
> > HW-list mailing list  -  sponsored by www.HW.cz
> > Hw-list@list.hw.cz
> > http://list.hw.cz/mailman/listinfo/hw-list
> > 
> 
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com 
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list