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.
Votre micro-exercice
Faites ces 3 modifications :
- Lisez 3 lignes (3 READ) et affichez-les si elles existent.
- Si le fichier est vide, affichez “Fichier vide”.
- 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.
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