Exercice 24 : open

Micro-exercice

Objectif : comprendre OPEN, l’ouverture d’un fichier avant lecture ou écriture. Dans COBOL, un fichier doit être déclaré, puis ouvert avant de pouvoir être utilisé. Vous allez ouvrir un petit fichier séquentiel en lecture, lire une ligne, l’afficher, puis fermer le fichier.

Ce que vous pratiquez

  • Déclarer un fichier dans FILE-CONTROL et FD.
  • Ouvrir en lecture avec OPEN INPUT.
  • Lire une ligne avec READ puis fermer avec CLOSE.

Point important

En OpenCobolIDE / GnuCOBOL, le nom du fichier est souvent donné via ASSIGN TO. Ici, on utilise un fichier nommé data.txt. Il doit se trouver dans le même dossier que l’exécutable (ou adaptez le chemin).

Exemple minimal COBOL Fichier séquentiel
Télécharger le code
       IDENTIFICATION DIVISION.
       PROGRAM-ID. EXO-OPEN-24.

       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT FICHIER-IN ASSIGN TO "data.txt"
               ORGANIZATION IS LINE SEQUENTIAL.

       DATA DIVISION.
       FILE SECTION.
       FD  FICHIER-IN.
       01  ENREG-IN             PIC X(120).

       WORKING-STORAGE SECTION.
       01  WS-FIN               PIC X VALUE "N".
           88  FIN-FICHIER              VALUE "O".
           88  PAS-FIN                  VALUE "N".

       PROCEDURE DIVISION.
           OPEN INPUT FICHIER-IN

           READ FICHIER-IN
               AT END
                   SET FIN-FICHIER TO TRUE
               NOT AT END
                   DISPLAY "Ligne lue : " ENREG-IN
           END-READ

           CLOSE FICHIER-IN
           STOP RUN.

Lecture simple

OPEN INPUT signifie “j’ouvre le fichier en lecture”. Une fois ouvert, READ récupère un enregistrement (ici une ligne), et AT END permet de détecter la fin du fichier.

À retenir : on ouvre toujours avant de lire ou écrire, et on ferme à la fin avec CLOSE. C’est une bonne habitude : un fichier bien fermé évite des problèmes de verrouillage et de données incomplètes.

Votre micro-exercice

Faites ces 3 modifications :

  1. Lisez 3 lignes (3 READ) et affichez-les si elles existent.
  2. Si le fichier est vide, affichez “Fichier vide”.
  3. Ajoutez un message “Ouverture OK” juste après OPEN.

Erreur fréquente à éviter

Oublier OPEN. Si vous faites READ sans OPEN INPUT, le programme ne peut pas accéder au fichier. C’est une erreur classique quand on débute.

Autre piège : ne pas trouver le fichier. Si data.txt n’est pas au bon endroit, l’ouverture peut échouer. Pour apprendre, mettez le fichier dans le même dossier que votre exécutable, puis utilisez un chemin complet quand vous serez à l’aise.

Conseil : commencez avec un fichier très simple (2 ou 3 lignes). Une fois que OPEN + READ + CLOSE fonctionnent, vous pourrez ajouter une boucle de lecture complète.

Exemple de fichier data.txt

Créez un fichier data.txt dans le même dossier que votre programme compilé, par exemple avec 2 lignes :

Premiere ligne
Deuxieme ligne