Conditions particulières et cas d'erreur

-
Si le mode contient la lettre r, le fichier doit exister, sinon c'est une erreur.

-
Si le mode contient la lettre w, le fichier peut, ou peut ne pas, exister. Si le fichier n'existe pas, il est créé ; si le fichier existe déjà, son ancien contenu est perdu.

-
Si le mode contient la lettre a, le fichier peut, ou peut ne pas, exister. Si le fichier n'existe pas, il est créé ; si le fichier existe déjà, son ancien contenu est conservé.

-
Si un fichier est ouvert en mode « écriture à la fin », toutes les écritures se font à l'endroit qui est la fin du fichier au moment de l'exécution de l'ordre d'écriture. Cela signifie que si plusieurs processus partagent le même FILE *, résultat de l'ouverture d'un fichier en écriture à la fin, leurs écritures ne s'écraseront pas mutuellement. D'autre part, si un processus ouvre un fichier en écriture à la fin, fait un fseek pour se positionner à un endroit du fichier, puis fait une écriture, celle-ci aura lieu à la fin du fichier (pas nécessairement à l'endroit du fseek).

Matthieu Moy 2017-02-08