分类: 嵌入式
2014-10-29 19:20:01
创建文件 int creat(const char *filename , mode_t mode)
文件描述fd:本质就是一个非负整数,范围0~open-max
打开文件 int open (const char *path,int flag),打开后返回一个值fd=open()
常见的打开标志
flag
O_RDONLY 只读方式
O_WRONLY 只写
O_RSWR 读写
O_APPEND 追加
O_NOBLOCK 非阻塞方式
O_CREAT 新建 int open(path,flag,权限)
关闭文件:int close(fd)
读文件:int read (int fd,const void *buf,size_t length) 将fd所指的文件中读出length个字节,存储在buf中,返回实际读出的字节数
写文件:int write(int fd,const void *buf,size_t length) 将length个字节从buf缓冲区写入fd,返回实际写入的字节数
定位: int lseek(int fd,offset_t offset,int whence) 将文件读写指针相对whence移动offset个字节,返回指针相对于文件头的位置
WHENCE 有3种值: SEEK_SET 相对于文件头
SEEK_CUR 相对于当前所指的指针位置
SEEK_END 相对于文件尾
offset 为正数向下移动,负数向上移动
可用来计算文件长度 lseek (fd,0,SEEK_END)
判断文件是否可操作 int access (const char *pathname,mode) 若判断正确则返回0,不正确返回-1
mode的几种模式:R_OK 可读
W_OK 可写
X_OK 可执行
F_OK 文件存在