______________________________________________________________________________
NAME
fconfigure - 設 置 和 獲 得 一 個 通 道 上 的 選 項
總 覽 SYNOPSIS
fconfigure
channelId
fconfigure channelId name
fconfigure channelId name value ?name value
...?
_________________________________________________________________
描 述 DESCRIPTION
fconfigure
命 令 設 置 和 檢
索 一 個 通 道 的
選 項 。 ChannelId 標
識 要 設 置 或 查
詢 某 個 選 項 的
那 個 通 道 。 如
果 沒 有 提 供 name
或 value 參 數 , 命
令 返 回 一 個 列
表 , 它 包 含 着
這 個 通 道 上 可
變 更 的 選 項 名
字 和 值 。 如 果
提 供 了 name 而 沒
有 value 則 命 令 返
回 給 定 選 項 的
當 前 值 。 如 果
提 供 一 對 或 多
對 name和 value, 命
令 把 每 個 指 名
的 選 項 設 置 成
相 應 的 value ; 在
這 種 情 況 下 返
回 值 是 一 個 空
串 。 所 有 通 道
都 支 持 下 面 描
述 的 選 項 。 額
外 的 , 每 個 通
道 類 型 都 可 以
增 加 只 有 它 自
己 支 持 的 選 項
。 參 見 建 立 各
種 類 型 通 道 的
命 令 的 手 冊 條
目 來 得 到 這 個
特 定 類 型 的 通
道 所 支 持 的 選
項 。 例 如 , 參
見 socket命 令 的 手
冊 條 目 來 得 到
增 補 的 選 項 。
-blocking boolean
-blocking 選 項 決 定 在 通 道 上 的 I/O 操 作 是 否 可 以 導 致 進 程 無 限 的 阻 塞 。 選 項 的 值 必 須 是 一 個 正 確 的 boolean 值 。 通 道 通 常 在 阻 塞 模 式 中 ; 如 果 把 一 個 通 道 轉 換 到 非 阻 塞 模 式 中 , 它 將 影 響 gets、 read、 puts、 flush、 和 close 命 令 的 操 作 ; 詳 見 這 些 命 令 的 文 檔 。 要 使 非 阻 塞 模 式 正 常 工 作 , 應 用 必 須 使 用 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必 須 是 一 個 整 數 ; 使 用 它 的 值 來 設 置 隨 後 分 配 給 這 個 通 道 用 來 存 儲 輸 入 和 輸 出 的 緩 衝 區 的 大 小 , 以 字 節 爲 單 位 。 Newvalue 必 須 在 十 到 一 百 萬 之 間 , 即 允 許 十 到 一 百 萬 字 節 大 小 的 緩 衝 區 。
-encoding name
│ 用 這 個 選
項 來 指 定 通 道
的 編 碼 , 爲 了
在 Tcl 中 使 用 數 據
, 數 據 可 以 轉
換 │ 成 Unicode 或
從 Unicode 轉 換 過 來
。 例 如 , 要 使 Tcl
從 用 shiftjis │
編 碼 的 日 文 文
件 中 讀 取 字 符
並 正 確 的 處 理
和 顯 示 其 中 的
內 容 , 編 碼 就
應 該 │ 設 置
成 shiftjis。 此 後 ,
當 從 一 個 通 道
讀 取 的 時 候 ,
在 這 個 日 文 文
件 中 │ 的 字
節 如 其 所 讀 的
將 被 轉 換 成 Unicode。
同 樣 也 支 持 寫
入 - 即 把 要 寫 到
│ 通 道 中 的 Tcl
字 符 串 自 動 的
轉 換 成 輸 出 上
的 特 定 編 碼 。
│ 如 果 一 個
文 件 包 含 純 二
進 制 數 據 (例 如
, 一 個 JPEG 圖 象 ),
這 種 通 道 應 當
│ 被 配 置 成
binary。 Tcl 將 對 這
種 文 件 中 的 數
據 不 賦 予 任 何
解 釋 , 而 是 簡
│ 單 的 讀 或
寫 原 始 (raw)的 字 節
。 使 用 Tcl binary 命
令 操 縱 這 種 原
始 字 節 │ 數
據 。 │ 給 新
打 開 的 通 道 的
缺 省 編 碼 與 同
操 作 系 統 交 互
時 使 用 的 依 賴
於 平 臺 或 本 地
│ 的 編 碼 是
一 樣 的 。 │
-eofchar char
-eofchar {inChar outChar} 這
個 選 項 支 持 DOS 文
件 系 統 , 它 使
用 Control-z (\x1a)作 爲 文 件
結 束 的 標 記 符
(marker)。 如 果 char 不
是 一 個 空 串 ,
則 在 輸 入 期 間
遇 到 這 個 字 符
時 指 示 (signal)文 件
結 束 。 對 於 輸
出 , 在 關 閉 通
道 的 時 候 輸 出
文 件 結 束 字 符
。 如 果 char 是 一
個 空 串 , 則 沒
有 特 定 的 文 件
結 束 字 符 標 記
符 。 對 於 讀 寫
通 道 , 一 個 有
兩 個 元 素 的 列
表 分 別 指 定 給
輸 入 和 輸 出 的
文 件 結 束 標 記
符 。 作 爲 一 種
約 定 , 在 給 讀
寫 通 道 設 置 文
件 結 束 符 的 時
候 , 你 可 以 指
定 一 個 單 一 的
值 , 同 時 提 供
給 讀 和 寫 。 在
查 詢 一 個 讀 寫
通 道 的 文 件 結
束 符 時 , 將 返
回 一 個 兩 個 元
素 的 列 表 。 除
了 在 Windows 下 的 文
件 之 外 的 情 況
下 , -eofchar 缺 省 值
是 一 個 空 串 。
在 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 相 關 聯
的 值 是 一 個 單
一 的 項 目 。 對
於 讀 寫 通 道 這
個 值 是 一 個 兩
個 元 素 的 列 表
; 列 表 的 第 一
個 元 素 是 讀 轉
換 模 式 , 第 二
個 元 素 是 寫 轉
換 模 式 。 作 爲
一 種 約 定 , 在
給 讀 寫 通 道 設
置 行 結 束 符 的
時 候 , 你 可 以
指 定 一 個 單 一
的 值 , 同 時 提
供 給 讀 和 寫 。
在 查 詢 一 個 讀
寫 通 道 的 行 結
束 符 時 , 將 返
回 一 個 兩 個 元
素 的 列 表 。 當
前 支 持 下 列 值 :
auto 作 爲 輸 入 轉 換 模 式 , |
auto 把 所 有 的 換 行 (lf)、 回 車 (cr)、 或 一 個 回 車 並 |
跟 隨 一 個 換 行 (crlf) 作 爲 行 結 束 表 示 。 行 結 束 表 示 甚 至 可 以 從 行 到 行 的 改 變 , 並 且 所 有 的 情 況 都 被 轉 換 成 一 個 換 行 符 。 作 爲 輸 出 轉 換 模 式 , auto 選 擇 一 個 特 定 於 平 臺 的 表 示 ; 對 於 套 接 口 , Tcl 在 所 有 平 臺 上 均 選 擇 crlf, 對 於 所 有 Unix 版 本 (flavor), 它 選 擇 lf, 對 Macintosh 平 臺 它 選 擇 cr, 對 於 各 種 版 本 的 Windows 它 選 擇 crlf。 對 於 輸 入 和 輸 出 二 者 , -translation的 缺 省 設 置 是 auto。
binary │ 不 進 行 行 結 束 轉 換 。 除 了 binary模 式 額 外 的 把 文 件 結 束 符 設 置 成 空 串 (禁 │ 用 文 件 結 束 符 ), 並 且 把 編 碼 設 置 成 binary (禁 用 編 碼 過 濾 )之 外 , 它 │ 與 lf 模 式 基 本 一 致 。 詳 細 信 息 參 見 -eofchar 和 -encoding。
cr 在 底 層 文 件 或 設 備 中 的 行 結 束 被 表 示 爲 一 個 單 一 的 回 車 符 。 作 爲 輸 入 轉 換 模 式 , |
cr模 式 把 回 車 符 轉 換 成 換 行 符 。 作 爲 輸 出 轉 換 模 式 , cr模 式 把 換 行 符 轉 換 成 回 車 符 。 這 種 模 式 典 型 的 在 Macintosh 平 臺 上 使 用 。
crlf 在 底 層 文 件 或 設 備 中 的 行 結 束 被 表 示 一 個 回 車 符 並 跟 隨 一 個 換 行 符 。 作 爲 輸 入 轉 換 模 式 , |
crlf模 式 把 回 車 換 行 序 列 轉 換 成 換 行 符 。 作 爲 輸 出 模 式 , crlf 模 式 把 換 行 符 轉 換 成 回 車 換 行 序 列 。 這 種 模 式 典 型 的 在 Windows 平 臺 和 網 絡 連 接 上 使 用 。
lf 在 底 層 文 件 或 設 備 中 的 行 結 束 被 表 示 爲 一 個 單 一 的 換 行 符 。 在 這 種 模 式 下 在 輸 入 或 輸 出 期 間 沒 有 轉 換 髮 生 。 這 種 模 式 典 型 的 在 |
UNIX 平 臺 上 使 用 。
參 見 SEE ALSO
close(n), flush(n), gets(n), puts(n), read(n), socket(n)
關 鍵 字 KEYWORDS
blocking, buffering, carriage return, end of line, flushing, linemode, newline, nonblocking, platform, translation, encoding, filter, byte array, binary
[中 文 版 維 護 人 ]
寒 蟬 退 士
[中 文 版 最 新 更 新 ]
2001/08/02
《 中 國 Linux 論 壇 man 手 冊 頁 翻 譯 計 劃 》 :
跋
本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。 中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh