Provided by: manpages-zh_1.5.1-1_all bug

NAME

       fconfigure - 設置和獲得一茬q道上的選項

` SYNOPSIS
       fconfigure channelId
       fconfigure channelId name
       fconfigure channelId name value ?name value ...?
_________________________________________________________________

yz DESCRIPTION
       fconfigure    命令設置和檢索一茬q道的選項。ChannelId 標識n設置或查詢某-
       蚇龠答漕碩通道。如果沒有提供   namevalue    參數,命令返回一-
       茼C表,它包含著這茬q道上可變更的選項名字和C如果提供了   name   而沒有
       value        則命令返回給定選項的當前C如果提供一對或多對       namevalue,命令把每茷名的選項設置成相應的  value  ;在這種情況下返回O一-
       茠臟瞗C

       所有通道都支持下探yz的選項。額外的,每-
       茬q道類型都可以增加只有它自己支持的選項。參見建立各種類型通道的命令的手冊條目來得到這-
       荅S定類型的通道所支持的選項。例如,參見
       socket命令的手冊條目來得到增補的選項。

       -blocking boolean
              -blocking     選項決定在通道上的   I/O    操作是否可以導P進程無-
              的阻塞。選項的眸楓O一茈蕭T的                           boolean
              C通道通常在阻塞模式中;如果把一-
              茬q道轉換到非阻塞模式中,它將影響    getsreadputsflush、和
              close                          命令的操作;詳見這些命令的文件。-
              n使非阻塞模式正常工作,應用必須使用                          Tcl
              事件循環(例如,通過調用 Tcl_DoOneEvent  或調用 vwait  命令)。

       -buffering newValue
              如果  newValuefull,則 I/O 系統直到它的內部緩沖變滿或調用
              flush    命令之後才將緩沖輸出。如果  newValueline,則  I/O
              系統將在輸出一荋咻瘝讀漁尕自動的刷新此通道的輸出。如果  newValuenone,則                          I/O
              系統將在每次輸出操作之後自動刷新。除了連接到終端類設備的通道被初始設置成
              line 之外,-buffering  的預設被設置成 full。補充一下,stdinstdout  被初始設置成 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)序列。在輸入上  (例如,使用 getsread),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的預設設置是 autobinary                                                                  ||
              不進行行結束轉換。除了                                           |
              binary模式額外的把檔案結束符設置成空串(禁用檔案結束符),並且把編碼設置成|
              binary   (禁用編碼過濾)之外,它與lf    模式基本一P。詳細信息參見 |
              -eofchar-encodingcr     在底層檔案或設備中的行結束被表示為一-
              茬璊@的回車符。作為輸入轉換模式,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