Manpages

______________________________________________________________________________

NAME

fconfigure - 設 置 和 獲 得 一 個 通 道 上 的 選 項

總 覽 SYNOPSIS

fconfigure channelId
fconfigure
channelId name
fconfigure
channelId name value ?name value ...? _________________________________________________________________

描 述 DESCRIPTION

fconfigure 命 令 設 置 和 檢 索 一 個 通 道 的 選 項 。 ChannelId 標 識 要 設 置 或 查 詢 某 個 選 項 的 那 個 通 道 。 如 果 沒 有 提 供 namevalue 參 數 , 命 令 返 回 一 個 列 表 , 它 包 含 着 這 個 通 道 上 可 變 更 的 選 項 名 字 和 值 。 如 果 提 供 了 name 而 沒 有 value 則 命 令 返 回 給 定 選 項 的 當 前 值 。 如 果 提 供 一 對 或 多 對 namevalue, 命 令 把 每 個 指 名 的 選 項 設 置 成 相 應 的 value ; 在 這 種 情 況 下 返 回 值 是 一 個 空 串 。 所 有 通 道 都 支 持 下 面 描 述 的 選 項 。 額 外 的 , 每 個 通 道 類 型 都 可 以 增 加 只 有 它 自 己 支 持 的 選 項 。 參 見 建 立 各 種 類 型 通 道 的 命 令 的 手 冊 條 目 來 得 到 這 個 特 定 類 型 的 通 道 所 支 持 的 選 項 。 例 如 , 參 見 socket命 令 的 手 冊 條 目 來 得 到 增 補 的 選 項 。
-blocking
boolean

-blocking 選 項 決 定 在 通 道 上 的 I/O 操 作 是 否 可 以 導 致 進 程 無 限 的 阻 塞 。 選 項 的 值 必 須 是 一 個 正 確 的 boolean 值 。 通 道 通 常 在 阻 塞 模 式 中 ; 如 果 把 一 個 通 道 轉 換 到 非 阻 塞 模 式 中 , 它 將 影 響 getsreadputsflush、 和 close 命 令 的 操 作 ; 詳 見 這 些 命 令 的 文 檔 。 要 使 非 阻 塞 模 式 正 常 工 作 , 應 用 必 須 使 用 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必 須 是 一 個 整 數 ; 使 用 它 的 值 來 設 置 隨 後 分 配 給 這 個 通 道 用 來 存 儲 輸 入 和 輸 出 的 緩 衝 區 的 大 小 , 以 字 節 爲 單 位 。 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)序 列 。 在 輸 入 上 (例 如 , 使 用 getsread), 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 手 冊 頁 翻 譯 計 劃 》 :

http://cmpp.linuxforum.net

本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。 中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh