教材学习内容总结
打开和关闭文件
1.打开文件:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int open(char *filename,int fliags,mod_it mode);
-
若成功,返回值为新文件描述符
-
若出错,返回值为-1
•open函数将filename转换成一个文件描述符,并且返回描述符数字。返回的描述符总是在进程中当前没有打开的最小描述符。
fd = Open("文件名",flag参数,mode参数)
•- O_RDONLY:只读。
•- O_WRONLY:只写。
•- O_RDWR:可读可写。
•- O_CREAT,表示如果文件不存在,就创建它的一个截断的文件。
•- O_TRUNC:如果文件已经存在,就截断它。
2.关闭文件:
#include<unistd.h>
int close(int fd);
•若成功则返回0,不成功则为-1。
•关闭一个已经关闭的描述符程序会出错。
3.访问权限位在sys/stat.h中定义
读和写文件
1.读函数
#include<unistd.h>
ssize_t read(int fd,void *buf,size_t n);
-
若成功,返回读字节数,即实际传送的字节数量
-
若EOF,返回0
-
若出错,返回-1
2.写函数
#include<unistd.h>
ssize_t write(int fd,const void *buf,size_t n);
-
若成功,返回写的字节数
-
若出错,返回-1
•write函数从存储器位置buf拷贝至多n个字节到描述符fd的当前文件位置。
部分代码截图
教材P601练习调用包装函数 带缓冲区版本
本周代码托管截图
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 4000行 | 25篇 | 350小时 | |
第一周 | 0/ 0 | 2/2 | 20/30 | |
第二周 | 100/100 | 1/3 | 20/50 | |
第三周 | 300/400 | 1/4 | 20/70 | |
第四周 | 0/400 | 0/4 | 0/70 | |
第五周 | 300/700 | 2/6 | 20/90 | |
第六周 | 100/800 | 2/8 | 20/110 | |
第七周 | 100/900 | 2/10 | 20/130 | |
第八周 | 0/900 | 3/13 | 20/150 | |
第九周 | 200/1100 | 3/16 | 20/170 |