2015-11-04 57 views

回答

4

既然你已經打開了文件,a+模式,文件指針設置爲的到底是什麼錯在此代碼文件。由於這個原因,對gets $fid line的調用返回-1,因爲它沒有任何要讀取的文件並導致while循環終止。

試試這個

set fid [open "file_name" r] 

參考:open

+1

或'seek $ fid 0' –

1

你已經回答了幾個提示到了什麼是行不通的。然而,你彷彿在做,最好的解決辦法是這樣的:

foreachLine line file_name { 
    lappend short_keys_list [lindex $line 5] 
    puts $line 
} 

此調用需要的文件的打開和關閉的照顧,讀取文件中的每一行,並將其存儲在變量名你」已經提供了(在這種情況下爲line),併爲每一行調用腳本一次。對於這個工作,你首先需要獲得fileutil包準備:

package require fileutil 
namespace import ::fileutil::* 

fileutil包中包含了很多有用的命令很容易地與使用低級別filehandling時的一大麻煩的問題處理,因爲我m通常很快指出#heyhoodiecrowwhydontyoumarryfileutilalready

文檔:fileutil包,lappendlindexnamespacepackageputs