Il existe une fonction getc qui est rigoureusement identique à
fgetc (même interface, même sémantique), sauf que getc est
implémenté comme une macro et non comme une vraie fonction C.
La différence est que getc peut évaluer plusieurs fois son paramètre
flot-de-données, ce qui lui interdit d'être une expression
contenant des effets de bord.
Exemple :
int i;
FILE * TAB_FILE[10];
c = getc(TAB_FILE[i++]); /* Arrgh..., effet de bord ! */
Matthieu Moy
2017-02-08