2015-11-04 53 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