freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

華為tcl培訓(xùn)教程-資料下載頁

2025-06-23 01:40本頁面
  

【正文】 除掉spaces、tabs、newlines、carriage returns這些字符。例如:% string trim abcde {a d e}bc% string trim def def string trimleft string ?chars? 。不過只刪除左邊的字符。 string trimright string ?chars? 。不過只刪除右邊的字符。2 文件訪問TCL提供了豐富的文件操作的命令。通過這些命令你可以對文件名進(jìn)行操作(查找匹配某一模式的文件)、以順序或隨機(jī)方式讀寫文件、檢索系統(tǒng)保留的文件信息(如最后訪問時(shí)間)。 文件名TCL中文件名和我們熟悉的windows表示文件的方法有一些區(qū)別:在表示文件的目錄結(jié)構(gòu)時(shí)它使用39。/39。,而不是39。\39。,這和TCL最初是在UNIX下實(shí)現(xiàn)有關(guān)。:C:/tcl/。 基本文件輸入輸出命令這個(gè)名為tgrep的過程,可以說明TCL文件I/O的基本特點(diǎn):proc tgrep { pattern filename} {set f [open $filename r]while { [gets $f line ] } { if {[regexp $pattern $line]} { puts stdout $line } }close $f} 以上過程非常象UNIX的grep命令, 你可以用兩個(gè)參數(shù)調(diào)用它,一個(gè)是模式,另一個(gè)是文件名,tgrep將打印出文件中所有匹配該模式的行。下面介紹上述過程中用到的幾個(gè)基本的文件輸入輸出命令。open name ?access? open命令 以access方式打開文件name。返回供其他命令(gets,close等)使用的文件標(biāo)識。如果name的第一個(gè)字符是“|”,管道命令被觸發(fā),而不是打開文件。文件的打開方式和我們熟悉的C語言類似,有以下方式:r 只讀方式打開。文件必須已經(jīng)存在。這是默認(rèn)方式。r+ 讀寫方式打開,文件必須已經(jīng)存在。 w 只寫方式打開文件,如果文件存在則清空文件內(nèi)容,否則創(chuàng)建一新的空文件。w+ 讀寫方式打開文件,如文件存在則清空文件內(nèi)容,否則創(chuàng)建新的空文件。a 只寫方式打開文件,文件必須存在,并把指針指向文件尾。a+ 讀寫方式打開文件,并把指針指向文件尾。如文件不存在,創(chuàng)建新的空文件。open命令返回一個(gè)字符串用于表識打開的文件。當(dāng)調(diào)用別的命令(如:gets,puts,close,〕對打開的文件進(jìn)行操作時(shí),就可以使用這個(gè)文件標(biāo)識符。TCL有三個(gè)特定的文件標(biāo)識: stdin,stdout和stderr ,分別對應(yīng)標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和錯誤通道,任何時(shí)候你都可以使用這三個(gè)文件標(biāo)識。gets fileId ?varName? 讀fileId標(biāo)識的文件的下一行,忽略換行符。如果命令中有varName就把該行賦給它,并返回該行的字符數(shù)(文件尾返回1),如果沒有varName參數(shù),返回文件的下一行作為命令結(jié)果(如果到了文件尾,就返回空字符串)。和gets類似的命令是read,不過read不是以行為單位的,它有兩種形式:read ?nonewline? fileId 讀并返回fileId標(biāo)識的文件中所有剩下的字節(jié)。如果沒有nonewline開關(guān),則在換行符處停止。read fileId numBytes 在fileId標(biāo)識的文件中讀并返回下一個(gè)numbytes字節(jié)。puts ?nonewline? ?fileId? string puts命令把string寫到fileId中,如果沒有nonewline開關(guān)的話,添加換行符。fileId默認(rèn)是stdout。命令返回值為一空字符串。puts命令使用C的標(biāo)準(zhǔn)I/O庫的緩沖區(qū)方案,這就意味著使用puts產(chǎn)生的信息不會立即出現(xiàn)在目標(biāo)文件中。如果你想使數(shù)據(jù)立即出現(xiàn)在文件中,那你就調(diào)用flush命令:flush fileId 把緩沖區(qū)內(nèi)容寫到fileId標(biāo)識的文件中,命令返回值為空字符串。flush命令迫使緩沖區(qū)數(shù)據(jù)寫到文件中。flush直到數(shù)據(jù)被寫完才返回。當(dāng)文件關(guān)閉時(shí)緩沖區(qū)數(shù)據(jù)會自動flush。close ?fileId? 關(guān)閉標(biāo)識為fileId的文件,命令返回值為一空字符串。這里特別說明的一點(diǎn)是,TCL中對串口、管道、socket等的操作和對文件的操作類似,以上對文件的操作命令同樣適用于它們。 隨機(jī)文件訪問默認(rèn)文件輸入輸出方式是連續(xù)的:即每個(gè)gets或爎ead命令返回的是上次gets或爎ead訪問位置后面的字節(jié),每個(gè)puts命令寫數(shù)據(jù)是接著上次puts寫的位置接著寫。TCL提供了seek,tell和eof等命令使用戶可以非連續(xù)訪問文件。每個(gè)打開的打開文件都有訪問點(diǎn),即下次讀寫開始的位置。文件打開時(shí),訪問點(diǎn)總是被設(shè)置為文件的開頭或結(jié)尾,這取決于打開文件時(shí)使用的訪問模式。每次讀寫后訪問位置按訪問的字節(jié)數(shù)后移相應(yīng)的位數(shù)??梢允褂胹eek命令來改變文件的訪問點(diǎn):seek fileId offset ?origin? 把fileId標(biāo)識的文件的訪問點(diǎn)設(shè)置為相對于origin偏移量為offset的位置。origin可以是start,current,end,默認(rèn)是start。命令的返回值是一空字符串。例如:seek fileId 2000 改變fieleId標(biāo)識的文件訪問點(diǎn),以便下次讀寫開始于文件的第2000個(gè)字節(jié)。seek的第三個(gè)參數(shù)說明偏移量從哪開始計(jì)算。第三個(gè)參數(shù)必為start,current或end中的一個(gè)。start是默認(rèn)值:即偏移量是相對文件開始處計(jì)算。current是偏移量從當(dāng)前訪問位置計(jì)算。end是偏移量從文件尾開始計(jì)算。tell fileId 返回fileId標(biāo)識的文件的當(dāng)前訪問位置。eof fileId 如果到達(dá)fileId標(biāo)識的文件的末尾返回1,否則返回0。 當(dāng)前工作目錄TCL提供兩個(gè)命令來管理當(dāng)前工作目錄:pwd和Cd。pwd和UNIX下的pwd命令完全一樣, 沒有參數(shù),返回當(dāng)前目錄的完整路徑。cd 命令也和UNIX命令也一樣,使用一個(gè)參數(shù),可以把工作目錄改變?yōu)閰?shù)提供的目錄。如果cd 沒使用參數(shù),UNIX下,會把工作目錄變?yōu)閱覶CL腳本的用戶的工作目錄,WINDOWS下會把工作目錄變?yōu)閣indows操作系統(tǒng)的安裝目錄所在的盤的根目錄(如:C:/)。值得注意的是,提供給cd的參數(shù)中路徑中的應(yīng)該用39。/39。而不是39。\39。如 cd C:/TCL/lib。這是UNIX的風(fēng)格。 文件操作和獲取文件信息TCL提供了兩個(gè)命令進(jìn)行文件名操作:glob和file,用來操作文件或獲取文件信息。glob命令采用一種或多種模式作為參數(shù),并返回匹配這個(gè)(些)模式的所有文件的列表,其語法為:glob ?switches? pattern ?pattern ...?其中switches可以取下面的值:noplain :允許返回一個(gè)空串,沒有noplain時(shí),如果結(jié)果是空的,就返回錯誤。 :表示switches結(jié)束,即后面以39。39。開頭的參數(shù)將不作為switches。glob命令的模式采用string match命令()的匹配規(guī)則。例如:%glob *.c *.h 。 glob 還允許模式中包含39。 括在花括號中間以逗號分開的多種選擇39。,例如 : %glob {{src,backup}/*.[ch]}src/ src/ src/ backup/下面的命令和上面的命令等價(jià): glob {src/*.[ch]} {backup/*.[ch]}注意:這些例子中模式周圍的花括號是必須的,可以防止命令置換。在調(diào)用glob命令對應(yīng)的C過程前這些括號會被TCL解釋器去掉。如果glob的模式以一斜線結(jié)束,那將只匹配目錄名。例如: glob */只返回當(dāng)前目錄的所有子目錄。如果glob返回的文件名列表為空,通常會產(chǎn)生一個(gè)錯誤。但是glob的在樣式參數(shù)之前的第一個(gè)參數(shù)是noplain的話,這時(shí)即使結(jié)果為空,glob也不會產(chǎn)生錯誤。對文件名操作的第二個(gè)命令是file。file是有許多選項(xiàng)的常用命令,可以用來進(jìn)行文件操作也可以檢索文件信息。這節(jié)討論與名字相關(guān)的選項(xiàng),下一節(jié)描述其他選項(xiàng)。使用file命令時(shí),我們會發(fā)現(xiàn)其中有很明顯的UNIX痕跡。file atime name 返回一個(gè)十進(jìn)制的字符串,表示文件name最后被訪問的時(shí)間。時(shí)間是以秒為單位從1970年1月1日12:00AM開始計(jì)算。如果文件name 不存在或查詢不到訪問時(shí)間就返回錯誤。例:% file atime 975945600file copy ?force? ?? source targetfile copy ?force? ?? source ?source ...? targetDir 這個(gè)命令把source中指明的文件或目錄遞歸的拷貝到目的地址targetDir,只有當(dāng)存在force選項(xiàng)時(shí),已經(jīng)存在的文件才會被覆蓋。試圖覆蓋一個(gè)非空的目錄或以一個(gè)文件覆蓋一個(gè)目錄或以一個(gè)目錄覆蓋一個(gè)文件都會導(dǎo)致錯誤。的含義和前面所說的一樣。file delete ?force? ?? pathname ?pathname ... ? 這個(gè)命令刪除pathname指定的文件或目錄,當(dāng)指定了force時(shí),非空的目錄也會被刪除。即使沒有指定force,只讀文件也會被刪除。刪除一個(gè)不存在的文件不會引發(fā)錯誤。file dirname name 返回name中最后一個(gè)“/”前的所有字符;如果 name 不包含“/”,返回“.”;如果name 中最后一個(gè)“/”是第name的第一個(gè)字符,返回“/”。file executable name 如果name對當(dāng)前用戶是可以執(zhí)行的,就返回1,否則返回0。file exists name 如果name存在于當(dāng)前用戶擁有搜索權(quán)限的目錄下返回1,否則返回0。file extension name 返回name中最后的“.”以后(包括這個(gè)小數(shù)點(diǎn))的所有字符。如果name中沒有“.”或最后斜線后沒有“.”返回空字符。file isdirectory name 如果name是目錄返回1,否則返回0。file isfile name 如果name是文件返回1,否則返回0。file lstat name arrayName 除了利用lstat內(nèi)核調(diào)用代理stat內(nèi)核調(diào)用之外,和file stat命令一樣,這意味著如果name是一個(gè)符號連接,那么這個(gè)命令返回的是這個(gè)符號連接的信息而不是這個(gè)符號連接指向的文件的信息。對于不支持符號連接的操作系統(tǒng),這個(gè)命令和和file stat命令一樣。file mkdir dir ?dir ...? 這個(gè)命令和UNIX的mkdir命令類似,創(chuàng)建dir中指明的目錄。如果dir已經(jīng)存在,這個(gè)命令不作任何事情,也不返回錯誤。不過如果試圖用一個(gè)目錄覆蓋已經(jīng)存在的一個(gè)文件會導(dǎo)致錯誤。這個(gè)命令順序處理各個(gè)參數(shù),如果發(fā)生錯誤的話,馬上退出。file mtime name 返回十進(jìn)制的字符串,表示文件name最后被修改的時(shí)間。時(shí)間是以秒為單位從1970年1月1日12:00AM開始計(jì)算。file owned name 如果name被當(dāng)前用戶擁有,返回1,否則返回0。file readable name 如果當(dāng)前用戶可對name進(jìn)行讀操作,返回1,否則返回0。file readlink name 返回name代表的符號連接所指向的文件。如果name 不是符號連接或者找不到符號連接,返回錯誤。在不支持符號連接的操作系統(tǒng)(如windows)中選項(xiàng)readlink沒有定義。file rename ? force? ?? source target file rename ?force? ?? source ?source ...? targetDir這個(gè)命令同時(shí)具有重命名和移動文件(夾)的功能。把source指定的文件或目錄改名或移動到targetDir下。 只有當(dāng)存在force選項(xiàng)時(shí),已經(jīng)存在的文件才會被覆蓋。 試圖覆蓋一個(gè)非空的目錄或以一個(gè)文件覆蓋一個(gè)目錄或以一個(gè)目錄覆蓋一個(gè)文件都會導(dǎo)致錯誤。file rootname name 返回name中最后“.”以前(不包括這個(gè)小數(shù)點(diǎn))的所有字符。如果name中沒有“.”返回Name。file size name 返回十進(jìn)制字符串,以字節(jié)表示name的大小。如果文件不存在或得不到name的大小,返回錯誤。file stat name arrayName 調(diào)用stat內(nèi)核來訪問name,并設(shè)置arrayName參數(shù)來保存stat的返回信息。 arrayName被當(dāng)作一個(gè)數(shù)組,它將有以下元素:atime、ctime、dev、gid、ino、mode、mtime、nlink、size、type和uid。除了type以外,其他元素都是十
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1