函数

GLibIOChannelunix_new

声明 [源]

GIOChannel*
g_io_channel_unix_new (
  int fd
)

描述 [源]

根据文件描述符创建一个新的 GIOChannel。在 UNIX 系统中,这对普通文件、管道和套接字都有效。

返回的 GIOChannel 引用计数为 1。

GIOChannel 的默认编码为 UTF-8。如果您的应用程序正在通过管道读取命令的输出,可能需要使用 g_io_channel_set_encoding() 函数将编码设置为当前区域设置(参见 g_get_charset())。默认情况下,传入的文件描述符不会被关闭。

如果想要读取原始二进制数据而不进行解释,请使用 g_io_channel_set_encoding() 函数将编码参数设置为 NULL

该函数在 Windows 上的 GLib 中也可用,但您应避免在 Windows 上使用它。文件描述符和套接字的域重叠。如果传递给该函数的参数既是有效的文件描述符也是套接字,GLib 无法知道您指的是哪一个。在这种情况下,将发出警告,并且 GLib 假定您指的是文件描述符。

参数

fd

类型: int

文件描述符。

返回值

类型: GIOChannel

一个新的 GIOChannel

函数的调用者对数据进行所有权,并负责释放它。