Tcl - E / S de archivos

Tcl admite el manejo de archivos con la ayuda de los comandos integrados open, read, put, gets y close.

Un archivo representa una secuencia de bytes, no importa si es un archivo de texto o un archivo binario.

Abrir archivos

Tcl usa el comando open para abrir archivos en Tcl. La sintaxis para abrir un archivo es la siguiente:

open fileName accessMode

Aquí, filename es literal de cadena, que utilizará para nombrar su archivo y accessMode puede tener uno de los siguientes valores:

No Señor. Modo y descripción
1

r

Abre un archivo de texto existente con fines de lectura y el archivo debe existir. Este es el modo predeterminado que se utiliza cuando no se especifica accessMode.

2

w

Abre un archivo de texto para escritura, si no existe, se crea un nuevo archivo, de lo contrario se trunca el archivo existente.

3

a

Abre un archivo de texto para escribir en modo adjunto y el archivo debe existir. Aquí, su programa comenzará a agregar contenido al contenido del archivo existente.

4

r+

Abre un archivo de texto para leer y escribir ambos. El archivo ya debe existir.

5

w+

Abre un archivo de texto para leer y escribir ambos. Primero trunca el archivo a una longitud cero si existe; de ​​lo contrario, cree el archivo si no existe.

6

a+

Abre un archivo de texto para leer y escribir ambos. Crea el archivo si no existe. La lectura comenzará desde el principio, pero la escritura solo se puede agregar.

Cerrar un archivo

Para cerrar un archivo, use el comando cerrar. La sintaxis para cerrar es la siguiente:

close fileName

Cualquier archivo que haya sido abierto por un programa debe cerrarse cuando el programa termine de usar ese archivo. En la mayoría de los casos, los archivos no necesitan cerrarse explícitamente; se cierran automáticamente cuando los objetos Archivo se terminan automáticamente.

Escribir un archivo

El comando Puts se usa para escribir en un archivo abierto.

puts $filename "text to write"

A continuación se muestra un ejemplo sencillo para escribir en un archivo.

#!/usr/bin/tclsh

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

Cuando se compila y ejecuta el código anterior, crea un nuevo archivo input.txt en el directorio en el que se inició (en el directorio de trabajo del programa).

Leer un archivo

A continuación se muestra el comando simple para leer de un archivo:

set file_data [read $fp]

A continuación se muestra un ejemplo completo de lectura y escritura:

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

Cuando se compila y ejecuta el código anterior, lee el archivo creado en la sección anterior y produce el siguiente resultado:

test

Aquí hay otro ejemplo para leer un archivo hasta el final del archivo línea por línea:

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

Cuando se compila y ejecuta el código anterior, lee el archivo creado en la sección anterior y produce el siguiente resultado:

test
test