一.open
头文件
函数原型
功能
打开和创建文件
函数参数
1.pathname:是待打开/创建文件路径名
例如:/home/yx/file1 在/home/yx 下 打开或创建文件 file1,不写路径,默认当前路径。
2.flags:指定文件的打开/创建的方式,有以下三种方式:
O_RDONLY 只读模式
O_WRONLY 只写模式
O_RDWR 可读可写模式
这三种模式是互斥的,只能选择其中一种,选择模式时,可以与以下参数连用:
O_CREAT 如果文件不存在就创建
O_EXCL 要打开的文件存在,则出错,必须要和 O_CREAT 参数一起使用
O_APPEND 保证文件中每次写入数据时,光标定位到之前写入内容数据的末尾,再次写入数据,就不会覆盖之前写入的数据。
O_TRUNC 打开文件的同时将文件中的数据清除,光标定位到文件头
等等
- mode: 用来设置创建文件的权限,flags中有 O_CREAT 时才有效
- 返回值:调用成功,返回一个非负整型数的文件描述符fd
调用失败返回-1,并修改errno.
二。write
功能
write()会把 buf 所指的内存写入 count 个字节所指的文件内(fd)。buf 中写入数据到fd多少由 count 决定
函数参数
1.fd:文件描述符
2.buf:通常是一个字符串,需要写入的字符串,写入其他类型的数据,如整型数,结构体等,通过传址调用。
3.每次写入的字节数
4.返回值:成功:返回写入的字节数
失败:返回-1并且设置errno
三 .lseek
功能
控制打开文件的读写位置
函数参数
1.fd:文件描述符
2.offset:偏移值,位移值是根据参数 whence来确定。
| ofset > 0 | 向后偏移 |
|---|---|
| offset < 0 | 向前偏移 |
3.whence:分为三种:
| SEEK_SET | 相对于文件头,向后偏移 |
|---|---|
| SEEK_CUR | 相对于当前位置,向前或前后偏移 |
| SEEK_END | 相对于文件数据尾部,向前或向后偏移 |
例如:lseek(fd,0,SEEK_SET) 从文件头开始读写
lseek(fd,0,SEEK_END) 从文件数据尾部读写
lseek(fd,SEEK_CUR) 取得目前文件位置
4.返回值:调用成功,则返回距离文件头多少个字节,可用于计算文件的大小 :
n = lseek(fd,0,SEEK_END)
调用失败,返回-1,
四.read
函数功能
从文件中读取一定大小的字节数
函数参数
和write的类似
注意:在读写文件时,注意光标的定位。
五.close
函数功能
关闭文件
1.返回值:成功 :返回0
失败: 返回 -1
附:

六.函数综合代码
.
版权声明:本文为yimuxu原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。