社区
Linux/Unix社区
帖子详情
fcntl()是干什么用的?
gsen
2004-07-17 12:22:42
初学linux下的c编程,看到fcntl()函数,然后找了一篇文章里面说:
"fcntl()用来操作文件描述词的一些特性。"
我还是不明白他是干什么用的,而且什么叫文件描述词?
谢谢
...全文
281
9
打赏
收藏
fcntl()是干什么用的?
初学linux下的c编程,看到fcntl()函数,然后找了一篇文章里面说: "fcntl()用来操作文件描述词的一些特性。" 我还是不明白他是干什么用的,而且什么叫文件描述词? 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
carol1980
2004-07-17
打赏
举报
回复
fcntl 可以用来改变文件的很多属性,如复制,获取和设置文件描述符,改变文件状态,文件加锁。
#include <fcntl.h>
int fcntl(int fildes, int cmd);
int fcntl(int fildes, int cmd, long arg);
fildes 就是要操作的文件描述符
cmd 决定对 fildes 进行什么样的操作
APUE:
fcntl 函数有五种功能:
• 复制一个现存的描述符(cmd=F_DUPFD)。—— 功能类似于 dup/dup2 但还是有些细节区别的;
• 获得/设置文件描述符标记(cmd = F_GETFD或F_SETFD)。
• 获得/设置文件状态标志(cmd = F_GETFL或F_SETFL)。
• 获得/设置异步I / O有权(cmd = F_GETOWN或F_SETOWN)。
• 获得/设置记录锁(cmd = F_GETLK , F_SETLK或F_SETLKW)。
更加基础一点的文件操作,你到这里看吧
http://www.loveunix.net/index.php?showtopic=33908&st=0
carol1980
2004-07-17
打赏
举报
回复
用fopen要快很多的
为什么?
xjl999
2004-07-17
打赏
举报
回复
用来返回文件的属性,和ioctl类似!
jumpandfly
2004-07-17
打赏
举报
回复
文件描述词,当一个文件打开后,系统会分配一部分资源来保存该文件的信息.以后对文件的操作就可以直接引用该部分资源了,文件描述词可以认为是该部分资源的一个索引,在打开文件时返回.fcntl是用来对文件的一些属性进行设置的,需要一个文件描述词参数.
groock
2004-07-17
打赏
举报
回复
/dev/hd*
/dev/sd*
...
都是文件
一且皆文件
open()
fopen()
用fopen要快很多的
incept
2004-07-17
打赏
举报
回复
man 2 fcntl
lwj_dxy
2004-07-17
打赏
举报
回复
up
carol1980
2004-07-17
打赏
举报
回复
在 unix 下,文件的概念是很广的
包括硬件设备,也是被映射到文件上,比较重要的象:
/dev/console
/dev/tty
/dev/null
都是同样的使用 open 打开,获得文件描述符来进行相应操作
yanedanny
2004-07-17
打赏
举报
回复
文件描述符除了文件外,还包括socket、管道之类的内容。
Unix编程常见问题解答 高清PDF含书签目录
我是否可以将SysV 进程间通信 与select或poll同时使用? - **答案**: 是的,可以在使用 `select()` 或 `poll()` 的同时使用 SysV IPC(Interprocess Communications)机制。 #### 2.2 How can I tell when the ...
unix编程常见问题解答.pdf
- 如果文件被另一个进程打开,尝试对该文件进行独占锁定(使用`flock()`或`
fcn
tl
()`)可能会失败。 **2.5 我如何锁住一个文件?** - 使用`flock()`或`
fcn
tl
()`函数可以实现文件的锁定,这些函数提供了共享锁和排他...
fcn
tl
()函数的作用及用法
需要注意的是,
fcn
tl
() 函数的使用和参数会因操作系统和应用程序的不同而有所变化,因此在具体使用时需要参考相关文档和操作系统的特定要求。常见的
fcn
tl
() 操作包括 F_DUPFD(文件描述符复制)、F_GETFL(获取文件...
3.1.13.
fcn
tl
函数介绍
这个cmd的作用是复制文件描述符...其他的当我们在使用中碰到了一个
fcn
tl
的不认识的cmd时再去查man手册即可。(2)cmd的样子类似于F_XXX,不同的cmd具有不同的功能。dup2返回的就是我们指定的那个newfd ,否则就会出错;
C语言的%d的作用,C语言中输出时一般是%d,但是有的是%4d,中间的数字是
干什么
的?...
C语言中输出时一般是%d,但是有的是%4d,中间的数字是
干什么
的?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!C语言中输出时一般是%d,但是有的是%4d...
Linux/Unix社区
23,223
社区成员
74,537
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章