1、open
头文件和函数原型:
#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode t mode);
pathname:打开或创建的文件路径和文件名。
flags:文件打开方式。
mode:权限掩码,如0666
返回值:成功返回int型文件描述符,出错返回-1。
如:
2、close
头文件和函数原型:
#include<unistd.h> int close(int fd);
fd:文件描述符
返回值:成功返回0,出错返回-1。
3、read
头文件和函数原型:
#include <unistd.h> ssize_t read(int fd, void *buf, size_t count);
fd:文件描述符
buf:缓存区,存放读到的内容
count:每次读取的字节数
返回值:
> 0,表示读到的字节数;
= 0,在阻塞模式下表示到达文件末尾或者没有数据可读,并调用阻塞;
-1 ,出错,在阻塞模式下表示没有数据可读。
如:
4、write
头文件和函数原型:
#include <unistd.h> ssize_t write(int fd, const void *buf, size_t count);
fd:文件描述符
buf:缓存区,存放要写入的数据
count:每次写入的字节数
返回值:>=0表示执行成功,返回写入的字节数,返回-1表示出错。
·
4、lseek(移动文件的读写位置)
头文件和函数原型:
#include <sys/types.h> #include <unistd.h> off t lseek(int fd, off t offset, int whence);
fd:文件描述符
offset:偏移量,字节单位,可以正负。负数表示向前移动,整数表示向后移动。
whence:当前位置的基点,可以使用以下三组值:
SEEK_SET: 相对于文件开头
SEEK_CUR:相对于当前的文件读写指针位置
SEEK_END:相对于文件末尾
返回值:成功返回当前位移大小,失败返回-1。