需包含的头文件: open: 常用参数 flags:O_RDONLY 只读、O_WRONLY 只写、O_RDWR 读写、O_APPEND 添加、O_CREAT 创建、O_EXCL 存在、O_TRUNC 清零、O_NONBLOCK 非阻塞 mode:用数字表示文件的权限,如0744(第一个0代表八进制),仅用于O_CREAT 返回值 成功:返回打开文件所对应的文件描述符(整数) 失败:-1,设置errno close: 返回值 成功:返回0 失败:-1,设置errno strerror 使用方法 返回值:错误的字符串描述 perror 使用方法 需包含的头文件: read: 参数 fd:文件描述符 buf:存数据的缓冲区 count:缓冲区大小 返回值 成功:读到的字节数 失败:-1,设置errno 特殊:-1,并且errno = EAGIN或者EWOULDBLOCK,说明正在read以非阻塞方式读一个设备文件(网络文件),并且文件无数据。 write 参数 fd:文件描述符 buf:待写入数据的缓冲区 count:数据大小 返回值 成功:写入的字节数 失败:-1,设置errno PCB进程控制块:本质为结构体 成员:文件描述符表 文件描述符:0/1/2/3……/1023(原则上会优先使用现有最小的文件描述符) 已经占用的文件描述符: 0-STDIN_FILENO 1-STDOUT_FILENO 2-STDERR_FILENO 可以用于查询文件的属性信息和设置文件属性信息 参数: fd:文件描述符 offset:偏移量 whence:其实偏移位置:SEEK_SET/SEEK_CUR/SEEK_END 返回值: 成功:较起始位置的偏移量 失败:-1,设置errno 应用场景: 1、文件的“读”、“写”使用同一个偏移位置。 2、使用lseek获取文件大小。 3、使用lseek拓展文件大小,要想使文件大小真正扩展,必须引起IO操作。 可以使用truncate函数直接拓展文件 传入参数 传出参数 传入传出参数
文件操作相关函数介绍及使用
1.open/close函数
#include <unistd.h> #include <fcntl.h>
int open(const char* pathname, int flags); int open(const char* pathname, int flags, mode_t mode);
int close(int fd);
2.错误处理函数
char* strerror(int errnum); //函数原型
printf("xxx error: %sn", strerror(errno)); //函数用法
void perror(const char* s);
perror("open error");
3.read/write函数
#include <unistd.h> #include <fcntl.h>
ssize_t read(int fd, void* buf, size_t count);
ssize_t write(int fd, const void* buf, size_t count);
4.文件描述符表
5.fcntl函数
int flags = fcntl(STDIN_FILENO, F_GETFL); //获取文件的属性信息 flags |= O_NONBLOCK; //加上属性 int ret = fcntl(STDIN_FILENO, F_SETFL, flags); //设置文件属性
6.lseek函数
off_t lseek(int fd, off_t offset, int whence);
int len = lseek(fd, 0, SEEK_END);
int len = lseek(fd, 111, SEEK_END); write(fd, " ", 1);
int ret = truncate("文件名", 250);
7.传入传出参数
char* strcpy(char* dest, const char* src); //第二个参数为传入参数
char* strcpy(char* dest, const char* src); //第一个参数为传出参数
8.硬链接原理
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算