Tcl - Datei-E / A.

Tcl unterstützt die Dateiverwaltung mithilfe der integrierten Befehle zum Öffnen, Lesen, Einfügen, Abrufen und Schließen.

Eine Datei stellt eine Folge von Bytes dar, unabhängig davon, ob es sich um eine Textdatei oder eine Binärdatei handelt.

Dateien öffnen

Tcl verwendet den Befehl open, um Dateien in Tcl zu öffnen. Die Syntax zum Öffnen einer Datei lautet wie folgt:

open fileName accessMode

Hier, filename ist ein String-Literal, mit dem Sie Ihre Datei und benennen accessMode kann einen der folgenden Werte haben -

Sr.Nr. Modus & Beschreibung
1

r

Öffnet eine vorhandene Textdatei zum Lesen und die Datei muss vorhanden sein. Dies ist der Standardmodus, der verwendet wird, wenn kein accessMode angegeben ist.

2

w

Öffnet eine Textdatei zum Schreiben. Wenn sie nicht vorhanden ist, wird eine neue Datei erstellt, andernfalls wird die vorhandene Datei abgeschnitten.

3

a

Öffnet eine Textdatei zum Schreiben im Anhänge-Modus und die Datei muss vorhanden sein. Hier beginnt Ihr Programm, Inhalte an den vorhandenen Dateiinhalt anzuhängen.

4

r+

Öffnet eine Textdatei zum Lesen und Schreiben. Datei muss bereits vorhanden sein.

5

w+

Öffnet eine Textdatei zum Lesen und Schreiben. Die Datei wird zuerst auf die Länge Null gekürzt, wenn sie vorhanden ist. Andernfalls wird die Datei erstellt, wenn sie nicht vorhanden ist.

6

a+

Öffnet eine Textdatei zum Lesen und Schreiben. Es erstellt die Datei, wenn sie nicht vorhanden ist. Das Lesen beginnt von vorne, aber das Schreiben kann nur angehängt werden.

Eine Datei schließen

Verwenden Sie den Befehl close, um eine Datei zu schließen. Die Syntax für close lautet wie folgt:

close fileName

Jede Datei, die von einem Programm geöffnet wurde, muss geschlossen werden, wenn das Programm die Verwendung dieser Datei beendet hat. In den meisten Fällen müssen die Dateien nicht explizit geschlossen werden. Sie werden automatisch geschlossen, wenn Dateiobjekte automatisch beendet werden.

Eine Datei schreiben

Der Befehl Puts wird zum Schreiben in eine geöffnete Datei verwendet.

puts $filename "text to write"

Ein einfaches Beispiel zum Schreiben in eine Datei ist unten dargestellt.

#!/usr/bin/tclsh

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

Wenn der obige Code kompiliert und ausgeführt wird, wird eine neue Datei erstellt input.txt in dem Verzeichnis, unter dem es gestartet wurde (im Arbeitsverzeichnis des Programms).

Eine Datei lesen

Es folgt der einfache Befehl zum Lesen aus einer Datei:

set file_data [read $fp]

Ein vollständiges Beispiel für Lesen und Schreiben finden Sie unten -

#!/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

Wenn der obige Code kompiliert und ausgeführt wird, liest er die im vorherigen Abschnitt erstellte Datei und erzeugt das folgende Ergebnis:

test

Hier ist ein weiteres Beispiel für das zeilenweise Lesen der Datei bis zum Ende der Datei:

#!/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

Wenn der obige Code kompiliert und ausgeführt wird, liest er die im vorherigen Abschnitt erstellte Datei und erzeugt das folgende Ergebnis:

test
test