20145228 《信息安全系统设计基础》第九周学习总结 (2)

教材学习内容总结

打开和关闭文件

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

参考资料

原文地址:https://www.cnblogs.com/J000/p/6058753.html