OVH Cloud OVH Cloud

Un exemple de cast utile sans pointeur

53 réponses
Avatar
Marc Boyer
Je me permets de vous demander un brin d'aide, encore.

Je cherche un exemple simple où la conversion par
cast est nécessaire. Je trouve rien sans devoir
introduire des pointeurs...

Marc Boyer
--
Lying for having sex or lying for making war? Trust US presidents :-(

3 réponses

2 3 4 5 6
Avatar
Marc Boyer
Jean-Marc Bourguet wrote:
Marc Boyer writes:
Je suis pas sur de te suivre.
Il me semble que l'idiome des E/S en C, c'est qu'il
faut échouer dans une lecture pour s'appercevoir qu'on
est à la fin, et dans ce cadre, je ne vois pas la distinction
entre getc[har] et fgets par exemple.

J'ai raté un truc ?


Non. Enfin, l'antecedant de "cette structure" vraissemblablement.
C'est la structure de

char c;
if ( (c=getc()) && !feof )
en lieu et place de
int c;
if ( (c=getc()) != EOF )

mais le jour ou on a du y penser, il devait être trop tard.


Ou tu fais l'operation sans tester sa validite (en fait il y a
probleme si getc() renvoie 0 que je n'avais pas signale


Oui, grave erreur de ma part le code 0. On pourrait
faire
if ( (c=getc()), !feof && !ferror )
mais ça devient nimporte quoi...

Pour getc (hormis le pb de 0 et ferror), je ne
crois pas qu'il y ait un probleme. Les autres operations (fgets par
exemple) peuvent mettre feof (et peut-etre ferror faudrait que je
regarde) sans echouer.


Pas de norme sous la main, mais la page de man de Sun sur
fgets indique en effet que la lecture positionne EOF si
fgets rencontre la fin, sans que ce soit un cas d'erreur.

Quel bordel...

Marc Boyer
--
Lying for having sex or lying for making war? Trust US presidents :-(


Avatar
Gabriel Dos Reis
Marc Boyer writes:

| Pas de norme sous la main, mais la page de man de Sun sur
| fgets indique en effet que la lecture positionne EOF si
| fgets rencontre la fin, sans que ce soit un cas d'erreur.
|
| Quel bordel...

Je suppose que std::istream ne te manque pas ;-)

-- Gaby
Avatar
Antoine Leca
Marc Boyerva escirure
Bon, sinon, tu ne m'as pas repris sur ce que j'allais
leur raconter (stockage dans des char et test par feof et
ferror + transtypage pour les isXXX), j'en déduis que
c'est correct.


Bon, j'étais pas trop sûr du coup de feof() + ferror(), mais
Jean-Marc a relevé le sujet, je n'ai pas besoin d'analyser plus.


Merci Jean-Marc ;-)

Antoine

2 3 4 5 6