Provided by:
manpages-zh_1.5.1-1_all 
NAME
fconfigure - 設置和獲得一茬q道上的選項
` SYNOPSIS
fconfigure channelId
fconfigure channelId name
fconfigure channelId name value ?name value ...?
_________________________________________________________________
yz DESCRIPTION
fconfigure 命令設置和檢索一茬q道的選項。ChannelId 標識n設置或查詢某-
蚇龠答漕碩通道。如果沒有提供 name 或 value 參數,命令返回一-
茼C表,它包含著這茬q道上可變更的選項名字和C如果提供了 name 而沒有
value 則命令返回給定選項的當前C如果提供一對或多對 name和
value,命令把每茷名的選項設置成相應的 value ;在這種情況下返回O一-
茠臟瞗C
所有通道都支持下探yz的選項。額外的,每-
茬q道類型都可以增加只有它自己支持的選項。參見建立各種類型通道的命令的手冊條目來得到這-
荅S定類型的通道所支持的選項。例如,參見
socket命令的手冊條目來得到增補的選項。
-blocking boolean
-blocking 選項決定在通道上的 I/O 操作是否可以導P進程無-
的阻塞。選項的眸楓O一茈蕭T的 boolean
C通道通常在阻塞模式中;如果把一-
茬q道轉換到非阻塞模式中,它將影響 gets、read、puts、flush、和
close 命令的操作;詳見這些命令的文件。-
n使非阻塞模式正常工作,應用必須使用 Tcl
事件循環(例如,通過調用 Tcl_DoOneEvent 或調用 vwait 命令)。
-buffering newValue
如果 newValue 是 full,則 I/O 系統直到它的內部緩沖變滿或調用
flush 命令之後才將緩沖輸出。如果 newValue 是 line,則 I/O
系統將在輸出一荋咻瘝讀漁尕自動的刷新此通道的輸出。如果 newValue
是 none,則 I/O
系統將在每次輸出操作之後自動刷新。除了連接到終端類設備的通道被初始設置成
line 之外,-buffering 的預設被設置成 full。補充一下,stdin 和
stdout 被初始設置成 line,而 stderr 被設置成 none。
-buffersize newSize
Newvalue必須是一蚞蒱F使用它的茬]置隨後分配給這-
茬q道用來存儲輸入和輸出的緩沖區的大小,以字節為單位。Newvalue
必須在十到一百萬之間,即允酗Q到一百萬字節大小的緩沖區。
-encoding |
name | |
用這蚇龠筐茷定通道的編碼,為了在 Tcl 中使用數據,數據可以轉換成 |
Unicode 或從 Unicode 轉換過來。例如,n使 Tcl 從用 shiftjis |
編碼的日文件案中讀取字符並正確的處理和顯示其中的內容,編碼就應該設置成|
shiftjis。此後,當從一茬q道讀取的時唌A在這- |
茪擗憟颾蚺云漲r節如其所讀的將被轉換成 Unicode。同樣也支持寫入 - |
即把n寫到通道中的 Tcl 字符串自動的轉換成輸出上的特定編碼。 |
如果一蚗仵蚰]含純二進制數據(例如,一 JPEG |
圖像),這種通道應當被配置成 binary。Tcl |
將對這種檔案中的數據不賦予任何解釋,而是簡單的讀或寫- |
鴝l(raw)的字節。使用Tcl binary 命令操縱這種鴝l字節數據。 |
給新打開的通道的預設編碼與同作業系統交互時使用的依賴於- |
台或本地的編碼是一樣的。 |
-eofchar char
-eofchar {inChar outChar}
這蚇龠竣銕 DOS 檔案系統,它使用 Control-z
(\x1a)作為檔案結束的標記符(marker)。如果 char 不是一-
茠臟瞗A則在輸入期間遇到這-
茼r符時指示(signal)檔案結束。對於輸出,在關閉通道的時-
埥擖X檔案結束字符。如果 char 是一-
茠臟瞗A則沒有特定的檔案結束字符標記符。對於讀寫通道,一茼釣-
茪葛尷漲C表分別指定給輸入和輸出的檔案結束標記符。作為一種約定,在給讀寫通道設置檔案結束符的時-
唌A你可以指定一茬璊@的A同時提供給讀和寫。在查詢一-
蚥盲g通道的檔案結束符時,將返回一茖瑧元素的列表。除了在 Windows
下的檔案之外的情況下,-eofchar 預設O一茠臟瞗C在Windows
的情況下,對於讀 -eofchar 是 Control-z (\x1a),對於寫是空串。
-translation mode
-translation {inMode outMode}
在 Tcl 稿本中總是使用一-
茬璊@的換行符(\n)來表示一行的結束。但是在實際的檔案和設備中的行結束在不同的-
台上可能有不同的表示,甚至在相同的-
台的不同的設備上也可能有不同的表示。例如,在 UNIX
下在檔案中是換行符,而在網路連接中通常使用回車-換行(carriage-
return-linefeed)序列。在輸入上 (例如,使用 gets 和 read),Tcl
I/O
系統自動的把外部的行結束表示轉換成換行符。在輸出上(例如,使用
puts),I/O 系統把換行符轉換成外部的行結束表示。預設的轉換模式是
auto,即自動的處理所有一般情況,而 -translation
選項在提供顯式的對行結束轉換的控制。
對於只讀和只寫通道,與 -translation 相關聯的O一-
茬璊@的項目。對於讀寫通道這蚧是一茖瑧元素的列表;列表的第一-
茪葛嶼O讀轉換模式,第二-
茪葛嶼O寫轉換模式。作為一種約定,在給讀寫通道設置行結束符的時-
唌A你可以指定一茬璊@的A同時提供給讀和寫。在查詢一-
蚥盲g通道的行結束符時,將返回一茖瑧元素的列表。當前支持下列:
auto 作為輸入轉換模式,auto 把所有的換行(lf)、回車(cr)、或一-
茼^車並跟隨一荋咻(crlf)
作為行結束表示。行結束表示甚至可以從行到行的改變,並且所有的情況都被轉換成一-
荋咻瘝禳C作為輸出轉換模式,auto 選擇一荅S定於-
台的表示;對於套接口,Tcl 在所有孕x上均選擇 crlf,對於所有 Unix
版本(flavor),它選擇 lf,對Macintosh 孕x它選擇
cr,對於各種版本的Windows 它選擇 crlf。對於輸入和輸出二者,-
translation的預設設置是 auto。
binary ||
不進行行結束轉換。除了 |
binary模式額外的把檔案結束符設置成空串(禁用檔案結束符),並且把編碼設置成|
binary (禁用編碼過濾)之外,它與lf 模式基本一P。詳細信息參見 |
-eofchar 和 -encoding。
cr 在底層檔案或設備中的行結束被表示為一-
茬璊@的回車符。作為輸入轉換模式,cr模式把回車符轉換成換行符。作為輸出轉換模式,cr模式把換行符轉換成回車符。這種模式典型的在
Macintosh 孕x上使用。
crlf 在底層檔案或設備中的行結束被表示一茼^車符並跟隨一-
荋咻瘝禳C作為輸入轉換模式,crlf模式把回車換行序列轉換成換行符。作為輸出模式,crlf
模式把換行符轉換成回車換行序列。這種模式典型的在 Windows -
台和網路連接上使用。
lf 在底層檔案或設備中的行結束被表示為一-
茬璊@的換行符。在這種模式下在輸入或輸出期間沒有轉換發生。這種模式典型的在UNIX
孕x上使用。
SEE ALSO
close(n), flush(n), gets(n), puts(n), read(n), socket(n)
r KEYWORDS
blocking, buffering, carriage return, end of line, flushing, linemode,
newline, nonblocking, platform, translation, encoding, filter, byte
array, binary
[]
Hhh
[]
2001/08/02
m Linux manUpn:
http://cmpp.linuxforum.net