标准文件IO详解(九)---fileno函数详解

  在前面笔记“打开流详解”中提到了 fdopen 函数,可以通过文件描述符 fd 来获取对应的文件流指针。而同时 C 库函数提供了 fileno 函数,这个函数的作用就是能够通过 文件流指针来获取对应的 文件描述符 fd 。

=======================================================

函数原型:

函数参数:

  • stream:要操作的文件流指针

返回值:

  • 函数返回与文件流指针对应的文件描述符,此函数不会出错(和umask函数类似)

=======================================================

需要 fileno 函数的原因是,获取到文件描述符后就可以调用 fcntl 和 dup 等函数来操作文件描述符。

时间: 2024-10-14 00:27:36

标准文件IO详解(九)---fileno函数详解的相关文章

文件IO详解(九)---write函数详解

write函数用来在进程中向文件中写入内容. 函数原型: 函数参数: fd:要操作的文件描述符 buf:准备写入文件中的数据的内存首地址 count:希望写入的字节数 返回值: 调用成功时返回写入的字节数 调用失败时返回 -1

标准文件IO详解(六)---fclose函数详解

fclose函数和close函数类似,用于关闭文件流指针.fclose函数被调用后,属于该文件流指针的用户缓冲区将会被强制刷新,并且对应的文件描述符 fd 也将会被关闭. ====================================================== 函数原型: 函数参数: fp:要关闭的文件流指针 返回值: 调用成功时返回 0 调用失败时返回 EOF

文件IO详解(五)---open函数详解

open函数用来在进程中打开文件,如果成功则返回一个文件描述符fd. ======================================================= 函数原型: 函数参数: pathname:打开文件的路径名 flags:用来控制打开文件的模式 mode:用来设置创建文件的权限(rwx).当flags中带有O_CREAT时才有效. 返回值: 调用成功时返回一个文件描述符fd 调用失败时返回-1,并修改errno ==========================

文件IO详解(七)---lseek函数详解

lseek函数用来设置当前文件偏移量. ====================================================== 函数原型: 函数参数: fd:要操作的文件描述符 offset:基于whence参数的偏移量 whence:参考点位置 返回值: 调用成功时返回当前相对于文件开头的偏移量,以字节为单位 调用失败时返回 -1,并修改errno的值 ======================================================= when

文件IO详解(十七)---ioctl函数详解

Linux提供了 fcntl 函数来获取到文件的控制标志,同时也提供了 ioctl 函数来获取或者设置一些设备文件的特有属性,比如串口的波特率,显示屏的分辨率等等.文件的控制标志是所有类型的文件都会有的,而特有属性则不一定. ======================================================= 函数原型:注意此函数是 ioctl ,而不是iocntl 但是 ioctl 函数相比于 fcntl 函数比较特别的地方就是由于每种设备文件的特有属性都是不一样的,

文件IO详解(八)---read函数详解

read函数用来在进程中读取某文件中的内容. 函数原型: 函数参数: fd:要读取的文件描述符 buf:保存从文件中读取到的内容的内存首地址 count:希望从文件读取到字节数 返回值: 读取文件发生错误时返回 -1 读取文件遇到文件结尾时返回 0 读取文件正常时返回实际读到的字节数 要注意希望读到的字节数和实际读到的字节数可能并不相等,实际读到的字节数总是小于等于希望读到的字节数.

文件IO详解(六)---close函数详解

close函数用来在进程中关闭文件.当使用close关闭文件时,加在该文件上的所有的建议锁都将会被释放.内核中的文件表项也将会被释放. 函数原型: 函数参数: fd:要关闭文件的文件描述符 返回值: 调用成功返回 0 调用失败返回 -1,并修改errno的值

php调用C代码的方法详解和zend_parse_parameters函数详解

http://blog.csdn.net/super_ufo/article/details/3863731 php调用C代码的方法详解 在php程序中需要用到C代码,应该是下面两种情况: 1 已有C代码,在php程序中想直接用 2 由于php的性能问题,需要用C来实现部分功能 针对第一种情况,最合适的方法是用system调用,把现有C代码写成一个独立的程序.参数通过命令行或者标准输入传入,结果从标准输出读出.其次,稍麻烦一点的方法是C代码写成一个daemon,php程序用socket来和它进行

文件和目录详解(三)---access函数详解

当在进程中使用open打开一个文件的时候,内核在测试权限的时候是基于进程的有效用户ID 来测试的,但是如果我们想要测试进程的实际用户 ID 对文件的权限的时候该怎么办?Linux提供了access函数来实现此功能.当没有设置set-user-id位的时候,实际用户和有效用户是一致的.设置了set-user-id位后,实际用户和有效用户才有可能不一样. ======================================================= 函数原型: 函数参数: pathn