2009-12-03 268 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"