Files/fr

From Free Pascal wiki
Jump to: navigation, search

English (en) français (fr) 日本語 (ja) 中文(中国大陆)‎ (zh_CN)

Tutoriel de Pascal Objet : Entrée/sortie / Fichiers

Lire depuis un fichier au lieu de la console peut être fait ainsi :

read (file_variable, argument_list);
write (file_variable, argument_list);

De manière identique à readln et writeln, file_variable est déclarée comme suit :

var
  ...
  filein, fileout : text;

Le type de donnée text indique le fichier est juste du texte brut.

Après la déclaration de la variable pour le fichier et avant de lire ou écrire dedans, nous avons besoin d'associer la variable avec le nom de fichier sur le disque et d'ouvrir le fichier. Cela peut être fait de deux manières. Typiquement :

reset (file_variable, 'filename.extension');
rewrite (file_variable, 'filename.extension');

reset ouvre un fichier pour lire son contenu et rewrite ouvre un fichier pour y écrire. Un fichier ouvert avec reset peut uniquement être utilisé avec read et readln. Un fichier ouvert avec rewrite peut uniquement être utilisé avec write et writeln.

Turbo Pascal a introduit la notation assign. En premier, vous assignez un nom de fichier à une variable, puis vous appelez reset ou rewrite en utilisant seulement la variable.

assign (file_variable, 'filename.extension');
reset (file_variable);

La méthode pour représenter un chemin d'accès diffère selon votre système d'exploitation. Windows utilise les barres obliques inverses (antislashs : \) et les lettres de lecteurs dues à son héritage du DOS, alors que Mac OS X et Linux utilisent des barres obliques (slashs : /) dues à leur héritage d'Unix.

Une fois que vous en avez fini avec un fichier, vous pouvez le fermer avec :

close (File_Identifier);

Ceci le rendra accessible à une autre ressource. Si vous ne fermez pas votre fichier, son accès ne sera libéré qu'une fois votre programme arrêté.

Voici un exemple d'un programme qui emploie des fichiers. Il a été écrit pour Turbo Pascal et DOS et créera file2.txt avec le premier caractère de file1.txt :

program CopyOneByteFile;
 
var
   mychar : char;
   filein, fileout : text;
 
begin
   assign (filein, 'c:\file1.txt');
   reset (filein);
   assign (fileout, 'c:\file2.txt');
   rewrite (fileout);
   read (filein, mychar);
   write (fileout, mychar);
   close (filein);
   close (fileout)
end.
Sommaire