Tcl - E / S fichier

Tcl prend en charge la gestion des fichiers à l'aide des commandes intégrées open, read, putting, gets et close.

Un fichier représente une séquence d'octets, peu importe qu'il s'agisse d'un fichier texte ou d'un fichier binaire.

Ouverture de fichiers

Tcl utilise la commande open pour ouvrir les fichiers dans Tcl. La syntaxe pour ouvrir un fichier est la suivante -

open fileName accessMode

Ici, filename est une chaîne littérale, que vous utiliserez pour nommer votre fichier et accessMode peut avoir l'une des valeurs suivantes -

N ° Sr. Mode et description
1

r

Ouvre un fichier texte existant à des fins de lecture et le fichier doit exister. Il s'agit du mode par défaut utilisé lorsqu'aucun accessMode n'est spécifié.

2

w

Ouvre un fichier texte pour l'écriture, s'il n'existe pas, un nouveau fichier est créé sinon le fichier existant est tronqué.

3

a

Ouvre un fichier texte pour l'écriture en mode ajout et le fichier doit exister. Ici, votre programme commencera à ajouter du contenu dans le contenu du fichier existant.

4

r+

Ouvre un fichier texte pour lire et écrire les deux. Le fichier doit déjà exister.

5

w+

Ouvre un fichier texte pour lire et écrire les deux. Il tronque d'abord le fichier à une longueur nulle s'il existe, sinon crée le fichier s'il n'existe pas.

6

a+

Ouvre un fichier texte pour lire et écrire les deux. Il crée le fichier s'il n'existe pas. La lecture commencera depuis le début, mais l'écriture ne peut être ajoutée.

Fermer un fichier

Pour fermer un fichier, utilisez la commande close. La syntaxe de close est la suivante -

close fileName

Tout fichier qui a été ouvert par un programme doit être fermé lorsque le programme a fini d'utiliser ce fichier. Dans la plupart des cas, les fichiers n'ont pas besoin d'être fermés explicitement; ils sont fermés automatiquement lorsque les objets File se terminent automatiquement.

Ecrire un fichier

La commande Puts est utilisée pour écrire dans un fichier ouvert.

puts $filename "text to write"

Un exemple simple d'écriture dans un fichier est présenté ci-dessous.

#!/usr/bin/tclsh

set fp [open "input.txt" w+]
puts $fp "test"
close $fp

Lorsque le code ci-dessus est compilé et exécuté, il crée un nouveau fichier input.txt dans le répertoire dans lequel il a été démarré (dans le répertoire de travail du programme).

Lire un fichier

Voici la commande simple pour lire à partir d'un fichier -

set file_data [read $fp]

Un exemple complet de lecture et d'écriture est présenté ci-dessous -

#!/usr/bin/tclsh

set fp [open "input.txt" w+]
puts $fp "test"
close $fp
set fp [open "input.txt" r]
set file_data [read $fp]
puts $file_data
close $fp

Lorsque le code ci-dessus est compilé et exécuté, il lit le fichier créé dans la section précédente et produit le résultat suivant -

test

Voici un autre exemple de lecture de fichier jusqu'à la fin du fichier ligne par ligne -

#!/usr/bin/tclsh

set fp [open "input.txt" w+]
puts $fp "test\ntest"
close $fp
set fp [open "input.txt" r]

while { [gets $fp data] >= 0 } {
   puts $data
}
close $fp

Lorsque le code ci-dessus est compilé et exécuté, il lit le fichier créé dans la section précédente et produit le résultat suivant -

test
test