Explications techniques

    Fonctions standards (fopen, fread, fwrite) :
        Ces fonctions utilisent une mémoire tampon (buffer) en interne. Même si tu demandes de lire/écrire un octet à la fois, 
        la bibliothèque C va lire ou écrire plusieurs octets (souvent 4096, la taille d’un bloc) d’un coup en interne, 
        ce qui réduit le nombre d’appels système réels et accélère le programme.
        Vérifie avec strace : un seul appel read ou write pour plusieurs appels fread/fwrite d’un octet !

    Appels systèmes (open, read, write, close) :
        Ici, chaque appel à read() ou write() provoque un appel système pour chaque octet. 
        Le passage du mode utilisateur au noyau (syscall) est coûteux, donc le programme est beaucoup plus lent.
