2016-05-25 4 views
0

ユーザがダイアログで「はい」をクリックすると、既存のテキストファイルを完成させたい。 実際のコードは既存のファイルを上書きします。Tcl最終行のテキストファイルに書き込む

set answer [tk_messageBox -message "file already exists, do you want to add more?" -title "Configuration Check" -type yesno -parent .example1] 
    case $answer { 
    yes { 
    set fid [open $::filename2/testfile.txt w] 
    puts $fid "last row" 
    close $fid 

最後の行に移動してファイルを完成させるという考えはありますか?

よろしく

答えて

2

あなたは、ファイルが存在する場合切り捨てられ、それが存在しない場合は作成されますwのアクセスを使用してファイルを開いています。あなたがする必要があるのは、aまたはa+のアクセスでファイルを開き、最初に既存のファイルを開き、最後に書き込みを行うようにファイルを配置し、2番目のファイルは同じファイルを作成します。

set fid [open $::filename2/testfile.txt a+] 

これはおそらく必要なものでしょうか。

またseektellコマンドを見て、これらは

+0

、あなたが開いているファイル内の位置を変更することができるようにあなたにミスターありがとう!!! – ManInTheMiddle

+0

追加モードでは、書き込み時に_only_を付けることができます(ログには非常に便利です)。いくつかの方法を開くには、POSIXスタイルモードを使用する必要があります。 –

関連する問題