Linux文件操作函数.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

linuxread/write和fread/fwrite有什么区别

1fread是带缓冲的,read不带缓冲.

,

2,fopen是标准c里定义的,open是POSIX中定义的.

3,fread可以读一个结构.read在linux/unix中读二进制普通文件没有区

别.

4,fopen不能指定要创建文件的权限.open可以指定权限.

5,fopen返回指针,open返回文件描述符整(数).

6,linux/unix中任何设备都是文件,都可以用open,read.

如果文件的大小是8ko

你如果用read/write,且只分配了2k的缓存,则要将此文件读出需要做4

次系统调用来实际从磁盘上读出。

如果你用fread/fwrite,则系统自动分配缓存,则读出此文件只要一次系

统调用从磁盘上读出。

也就是用read/write要读4次磁盘,而用fread/fwrite则只要读1次磁

盘。效率比read/write要高4倍。

如果程序对内存有限制,则用read/write比较好。

都用fread和fwiite,它自动分配缓存,速度会很快,比自己来做要简单。如

果要处理一些特殊的描述符用read和write,如套接口,管道之类的

系统调用write的效率取决于你uf的大小和你要写入的总数量,如果uf

太小,你进入内核空间的次数大增,效率就低下。而fwhte会替你做缓

存,减少了实际浮现的系统调用,所以效率比较高。

如果只调用一次可(能吗?),这俩差不多,严格来说wHte要快一点点因(

为实际上fwiite最后还是用了write做真正的写入文件系统工作),但是这

其中的差别无所谓。

open(打开文件)

相关函数

read,write,fcntl,close,link,stat,umask,unlink,fopen

表头文件

#includesys/types.h

#includesys/stat.h

#includefcntl.h

定义函数

intopen(constchar*pathname,intflags);

intopen(constchar*pathname,intflags,mode_tmode);

函数说明

参数pathname指向欲打开的文件路径字符串。下列是参数flags所能使

用的旗标:

O_RDONLY以只读方式打开文件

O_WRONLY以只写方式打开文件

O_RDWR以可读写方式打开文件。上述三种旗标是互斥的,也就是不可

同时使用,但可下列的旗标利用OR(|)运算符组合。

O_CREAT若欲打开的文件不存在则自动建立该文件。

O_EXCL如果CLCREAT也被设置,此指令会去检查文件是否存在。文

件若不存在则建立该文件,否则将导致打开文件错误。此外,若

O_CREATO_EXCL同时设置,并且欲打开的文件为符号连接,则会

打开文件失败。

O_NOCTTY如果欲打开的文件为终端机设备时,则不会将该终端机当成

进程控制终端机。

O_TRUNC若文件存在并且以可写的方式打开时,此旗标会令文件长度

清为0,而原来存于该文件的资料也会消失。

O.APPEND当读写文件时会从文件尾开始挪移,也就是所写入的数据会

以附加的方式加入到文件后面。

O.NONBLOCK以不可阻断的方式打开文件,也就是无论有无数据读取

或者等待,都会即将返回进程之中。

O_NDELAY同O_NONBLOCK。

O.SYNC以同步的方式打开文件。

CLNOFOLLOW如果参数pathname所指的文件为一符号连接,则会令

打开文件失败。

CLDIRECTORY如果参数pathname所指的文件并非为一目录,则会令

打开文件失败。

此为Linux2.2以后特有的旗标,以避免一些系统安全问题。数mode

则有下列数种组合,惟独在建立新文件时才会生效,此外真正建文件时的

权限会受到umask值所影响

文档评论(0)

专注于电脑软件的下载与安装,各种疑难问题的解决,office办公软件的咨询,文档格式转换,音视频下载等等,欢迎各位咨询!

1亿VIP精品文档

相关文档