比如我想从标准输入读取单个字符(通过 libc::fgetc函数)如下
pub unsafe extern "C" fn fgetc(stream: *mut FILE) -> c_int
但我发现 libc::FILE 竟是个枚举??
pub enum FILE {}
即使我将 标准输入 转换 成 c语言的文件描述符fd,但也没法变成 libc::FILE
1
共 3 条评论, 1 页
比如我想从标准输入读取单个字符(通过 libc::fgetc函数)如下
pub unsafe extern "C" fn fgetc(stream: *mut FILE) -> c_int
但我发现 libc::FILE 竟是个枚举??
pub enum FILE {}
即使我将 标准输入 转换 成 c语言的文件描述符fd,但也没法变成 libc::FILE
评论区
写评论rust的libc库单纯就是经典libc的binding,一模一样的,你要看这个不如直接去看讲c语言libc的博客,这个到处都是。
--
👇
jojo: 原来如此,谢谢😘。
我找了挺久也没找到。。。有没有相关博客介绍libc库,因为我用lib文档自带搜索栏找,它也找不到相关Param或Return
--
👇
Aya0wind: 调用fdopen函数,可以把fd转换为FILE*。对于stdin就是fd等于0,这个函数在libc crate里有。
原来如此,谢谢😘。
我找了挺久也没找到。。。有没有相关博客介绍libc库,因为我用lib文档自带搜索栏找,它也找不到相关Param或Return
--
👇
Aya0wind: 调用fdopen函数,可以把fd转换为FILE*。对于stdin就是fd等于0,这个函数在libc crate里有。
调用fdopen函数,可以把fd转换为FILE*。对于stdin就是fd等于0,这个函数在libc crate里有。