打开文件:
#include
#include
#include
int open(const char *pathname,int flags);
int open(const char *pathname,int flags,mode_t mode);mode代表权限
int creat(const char *pathname,mode_t mode);
flag标记:
O_RDONLY:表示只读
O_WRONLY:只写
O_RDWR:可读写
O_APPEND:在内容末尾追加
O_TRUNC:删除原始数据,创建新数据
#include
ssize_t read(int fd,void *buf,size_t count);fd是文件描述符
ssize_t write(int fd,const void *buf,size_t count);
#include
#include
off_t lseek(int fd,off_t offset,int whence);
offset:偏移量,每次读写操作所需要移动的距离,单位是字节,可正可负(向前移,向后移)
whence:当前位置的基点;
SEEK_SET:当前位置为文件的开头,新位置为偏移量的大小
SEEK_CUR:当前位置为文件指针的位置,新位置为当前位置加上偏移量
SEEK_END:当前位置为文件结尾,新位置为文件大小
#include
#include
int fcntl(int fd,int cmd);
int fcntl(int fd,int cmd,long arg);
int fcntl(int fd,int cmd,struct flock* lock);
打开文件:
#include
FILE *fopen(const char *path,const char *mode);
FILE *fdopen(int fd,const char *mode);
FILE *freopen(const char *path,const char *mode,FILE *stream);
mode取值:
r:打开只读文件,文件必须存在;
r+:打开可读写文件,文件必须存在;
w:打开只写文件,文件存在擦写新内容,不存在新建;
w+:打开可读写文件,。。。
a:以附加方式打开只写文件
a+:以附加的方式打开可读写文件
文件读写:
#include
size_t fread(void *ptr,size_t size,size_t nmemb,FILE *stream);
size_t fwrite(const void *ptr,size_t size,size_t nmemb,FILE *stream);