J’ajouterais que stdio.h est commun a tous les OS, et doit faire pareil
partout.
Et une des grandes differences (tres debile) entre windows et Unix,
c’est le passage a la ligne (
) qui n’est pas le meme sous Unix (
)
et sous Win(
), autrement dit, les fameux CRLF (Carriage Return,
Line Feed).
Du coup, un fwrite de “hello world
” ne s’ecrira pas pareil dans le
fichier si tu l’ouvre en binaire ou en text (enfin, sous windows, quoi)
(Glop: euh la lecture/ecriture en text, ca marche en 8 bits, hein:
The mode string can also include the
letter ``b’’ either
as a last character or as a
character between the charac
ters in any of the two-character
strings described above.
This is strictly for
compatibility with ANSI X3.159-1989
(``ANSI C'') and has no effect;
the ``b’’ is ignored on
all POSIX
conforming systems, including Linux. (Other
systems may treat text files and
binary files differently,
and adding the ``b'' may be a good
idea if you do I/O to a
binary file and expect that your
program may be ported to
non-Unix environments.)
(from man fopen)
)
En gros, le “b”, c’est pour avoir une compatibilite text (ou non) avec
windows.
LoneWolf
Osons la portabilite (et les charsets a la con made in Microsoft)