EOF |
Fin du fichier |
---|---|
DISK BASIC |
Syntaxe
EOF(nmexp) |
Paramètres
Nom | Description |
---|---|
nmexp | Ce paramètre permet d'indiquer un tampon de fichier, nmexp=1, 2,..., 15. |
Description
Cette fonction vérifie si tous les caractères jusqu'au marqueur de fin de fichier ont été accédés, de sorte que vous pouvez éviter les erreurs INPUT PAST END lors de la saisie séquentielle.
En supposant que nmexp spécifie un fichier ouvert, alors EOF(nmexp) renvoie 0 (faux) lorsque l'enregistrement EOF n'a pas encore été lu, et -1 (vrai) lorsqu'il a été lu.
Exemples
IF EOF(5)THEN PRINT"FIN DU FICHIER"FILENM$
IF EOF(NM%)THEN CLOSE NM%
La séquence de lignes suivante lit les données numériques de DATA/TXT dans le tableau A(). Lorsque le dernier caractère de données du fichier est lu, le test EOF de la ligne 30 "réussit", de sorte que le programme sort de la boucle d'accès au disque, empêchant une erreur INPUT PAST END de se produire. Notez également que la variable I contient le nombre d'éléments entrés dans le tableau A().
5 DIM A(100) 'EN SUPPOSANT QUE C'EST UNE VALEUR SURE
10 OPEN"I",1,"DATA/TXT"
20 I%=0
30 IF EOF(1)THEN 70
40 INPUT#1,A(I%)
50 I%=I%+1
60 GOTO 30
70 REM LE PROGRAMME CONTINUE ICI APRES L'ENTREE DU DISQUE
À la ligne 30, LOF(1) spécifie le numéro d'enregistrement le plus élevé auquel accéder.
Remarque : Si vous tentez d'obtenir des numéros d'enregistrement au-delà de l'enregistrement de fin de fichier, BASIC remplit simplement le tampon avec des zéros hexadécimaux et aucune erreur n'est générée.
Lorsque vous souhaitez ajouter à la fin d'un fichier, LOF vous indique par où commencer :
100 I%=LOF(1)+1 'ENREGISTREMENT EXISTANT LE PLUS ELEVE
110 PUT 1,I% 'AJOUTER LE PROCHAIN ENREGISTREMENT