Tcl - Dosya G / Ç

Tcl, yerleşik açma, okuma, koyma, alma ve kapatma komutlarının yardımıyla dosya işlemeyi destekler.

Bir dosya, bir metin dosyası veya ikili dosya olması fark etmez, bir bayt dizisini temsil eder.

Dosyaları Açma

Tcl, dosyaları Tcl'de açmak için open komutunu kullanır. Bir dosyayı açmak için sözdizimi aşağıdaki gibidir -

open fileName accessMode

Buraya, filename dize değişmezidir, dosyanızı adlandırmak için kullanacağınız ve accessMode aşağıdaki değerlerden birine sahip olabilir -

Sr.No. Mod ve Açıklama
1

r

Okuma amacıyla mevcut bir metin dosyasını açar ve dosyanın var olması gerekir. Bu, accessMode belirtilmediğinde kullanılan varsayılan moddur.

2

w

Yazmak için bir metin dosyası açar, yoksa yeni bir dosya oluşturulur, yoksa var olan dosya kesilir.

3

a

Ekleme modunda yazmak için bir metin dosyası açar ve dosyanın mevcut olması gerekir. Burada, programınız mevcut dosya içeriğine içerik eklemeye başlayacaktır.

4

r+

Her ikisini de okumak ve yazmak için bir metin dosyası açar. Dosya zaten mevcut olmalıdır.

5

w+

Her ikisini de okumak ve yazmak için bir metin dosyası açar. Önce dosyayı sıfır uzunluğa kısaltın, aksi takdirde dosya yoksa oluşturun.

6

a+

Her ikisini de okumak ve yazmak için bir metin dosyası açar. Dosya yoksa oluşturur. Okuma baştan başlayacak, ancak yazı sadece eklenebilir.

Bir Dosyayı Kapatmak

Bir dosyayı kapatmak için kapat komutunu kullanın. Kapanış sözdizimi aşağıdaki gibidir -

close fileName

Bir program tarafından açılan herhangi bir dosya, program o dosyayı kullanmayı bitirdiğinde kapatılmalıdır. Çoğu durumda, dosyaların açıkça kapatılması gerekmez; Dosya nesneleri otomatik olarak sonlandırıldığında otomatik olarak kapatılırlar.

Dosya Yazma

Puts komutu, açık bir dosyaya yazmak için kullanılır.

puts $filename "text to write"

Bir dosyaya yazmak için basit bir örnek aşağıda gösterilmiştir.

#!/usr/bin/tclsh

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

Yukarıdaki kod derlendiğinde ve çalıştırıldığında, yeni bir dosya oluşturur input.txt altında başlatıldığı dizinde (programın çalışma dizininde).

Bir Dosyayı Okumak

Bir dosyadan okumak için basit bir komut aşağıdadır -

set file_data [read $fp]

Aşağıda tam bir okuma ve yazma örneği gösterilmektedir -

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

Yukarıdaki kod derlenip çalıştırıldığında, önceki bölümde oluşturulan dosyayı okur ve aşağıdaki sonucu verir -

test

İşte dosyanın sonuna kadar satır satır okumak için başka bir örnek -

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

Yukarıdaki kod derlenip çalıştırıldığında, önceki bölümde oluşturulan dosyayı okur ve aşağıdaki sonucu verir -

test
test