因?yàn)門CL把所有的輸入都當(dāng)作字符串看待,所以TCL提供了較強(qiáng)的字符串操作功能,TCL中與字符串操作有關(guān)的命令有:string、format、regexp、regsub、scan等。
format命令
語法:format formatstring ?vluevalue...?
format命令類似于ANSIC中的sprintf函數(shù)和MFC中CString類提供的Format成員函數(shù)。它按formatstring提供的格式,把各個(gè)value的值組合到formatstring中形成一個(gè)新字符串,并返回。例如:
%set name john
John
%set age 20
20
%set msg [format "%s is %d years old" $name $age]
john is 20 years old
語法:scan string format varName?varName ...?
scan命令可以認(rèn)為是format命令的逆,其功能類似于ANSIC中的sscanf函數(shù)。它按format提供的格式分析string字符串,然后把結(jié)果存到變量varName中,注意除了空格和TAB鍵之外,string和format中的字符和'%'必須匹配。例如:
% scan "some 26 34" "some %d %d"a b
2
% set a
26
% set b![[unixc_tcl]TCL-format命令-scan命令___one_day_ tcl clock format 201](http://img.aihuau.com/images/01111101/01115145t010160fe9fbaea2431.jpg)
34
% scan "12.34.56.78" "%d.%d.%d.%d" c d e f
4
% puts [format "the value of c is %d,d is %d,e is %d ,f is %d" $c$d $e $f]
the value of c is 12,d is 34,e is 56 ,f is 78
scan命令的返回值是匹配的變量個(gè)數(shù)。而且,我們發(fā)現(xiàn),如果變量varName不存在的話,TCL會(huì)自動(dòng)聲明該變量。
愛華網(wǎng)



