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