53 votes

Mode d'ouverture des fichiers en Ruby

Je suis un nouveau programmeur en Ruby. Quelqu'un peut-il me donner un exemple d'ouverture de fichier en mode r+,w+,a+ en Ruby ? Quelle est la différence entre ces modes et r,w,a ?

Veuillez expliquer et fournir un exemple.

109voto

miku Points 63392

Les modes d'ouverture de fichiers ne sont pas vraiment spécifiques à ruby - ils font partie de la norme IEEE Std 1003.1 ( Spécification UNIX unique ). Vous pouvez en savoir plus à ce sujet ici :

http://pubs.opengroup.org/onlinepubs/009695399/functions/fopen.html

r or rb
    Open file for reading.

w or wb
    Truncate to zero length or create file for writing.

a or ab
    Append; open or create file for writing at end-of-file.

r+ or rb+ or r+b
    Open file for update (reading and writing).

w+ or wb+ or w+b
    Truncate to zero length or create file for update.

a+ or ab+ or a+b
    Append; open or create file for update, writing at end-of-file.

Tout mode qui contient la lettre "b" correspond à un fichier binaire. Si le 'b' n'est pas présent, il s'agit d'un fichier 'plain text'.

La différence entre "ouvert" et "ouvert pour mise à jour" est indiquée comme suit :

Lorsqu'un fichier est ouvert en mode mise à jour ('+' comme deuxième ou troisième caractère de l'argument mode), l'entrée et la sortie peuvent être effectuées sur le flux associé. Toutefois, l'application doit s'assurer que la sortie n'est pas directement suivie de l'entrée sans un appel intermédiaire à fflush() ou à une fonction de positionnement de fichier ( fseek(), fsetpos() ou rewind()), et que l'entrée n'est pas directement suivie de la sortie sans un appel intermédiaire à une fonction de positionnement de fichier, à moins que l'opération d'entrée ne rencontre la fin du fichier.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X