2009-12-03 226 views
3

如何通过键盘给Tcl脚本输入? C中有没有像scanf()的东西?Tcl键盘输入

+0

我没有看到选择正确的(唯一)答案,所以我想我会检查回来......您的问题是否回答,您需要更多信息,还是我误解了你在问什么? – RHSeeger 2009-12-10 14:42:16

回答

17

gets命令可能是你想要的。

set data [gets stdin] 
# or 
set numchars [gets stdin data] 

scan命令可以用来解析类似于scanf函数如何与C.它使用的格式输入: 扫描字符串格式的varName的varName ...?

因此,解析像“5个猫”将各个变量的输入:

set data [gets stdin] 
scan $data "%d %s" myint mystring 

编辑:增加了更多的信息,从科林的评论。

+1

但是,如果您想要中断获取的输入行,并以scanf()的方式提供多个值,则可能需要应用扫描命令(http://www.tcl.tk/man/tcl8.5/TclCmd /scan.htm)到其结果,例如。扫描[获得标准输入]“%d:%d”小时分钟 – 2009-12-03 22:58:57

2
puts -nonewline "Enter your name: " 
flush stdout 
set name [gets stdin] 

puts "Hello $name"