zoukankan      html  css  js  c++  java
  • 2018-2019-1 20165334 《信息安全系统设计基础》第六周学习总结

    2018-2019-1 20165334 《信息安全系统设计基础》第六周学习总结

    课本知识总结

    一、文件
    • 普通文件:只包含ASCIIUnicode字符的普通文件
    • 二进制文件是其他所有文件
    二、打开和关闭文件
    Open
    #<sys/type.h>
    #<sys/stat.h>
    #<fcntl.h>
    int open(char *filename,int flags,mode_t mode);
    
    flags参数指明了进程打算如何访问这个文件
    • O_RDONLY:只读;
    • O_WRONLY:只写;
    • O_RDWD:可读可写;
    mode参数指定了新文件的访问权限位
    三、读和写文件
    #include<unistd.h>
    ssize_t read(int fd,void *buf,size_t n);//输入
    ssize_t write(int fd,const void *buf,size_t n);//输出
    
    四、用RIO包强壮地读写
    • 无缓冲的输入输出函数(应用程序可以内存和文件之间直接传送数据)
     #include "csapp.h"
     ssize_t rio_readn(int fd,void *usrbuf,size_t n);
     ssize_t rio_writen(int fd,void *usrbuf,size_t n);
    
    • 有缓冲的输入输出函数
    #include "csapp.h"
     void rio_readinitb(rio_t *rp,int fd);
     ssize_t rio_readlineb(rio_t *rp,void *usrbuf,size_t maxlen);
     ssize_t rio_readnb(rio_t *rp,void *usrbuf,size_t n);
    
    五、I/O重定向
    • linux> ls > foo.txt
    • 注:标准输出重定向到磁盘文件foo.txt
    • 通过使用dup2函数I/O重定向进行工作
    #include <unistd.h>
    int dup2(int oldfd,int newfd);
    
    • dup2函数复制描述符表表项oldfd到描述表表项newfd,覆盖描述符表表项newfd以前的内容。如果newfd已经打开了,dup2会在复制oldfd之前关闭newfd.
    六、掌握两个重要命令:
    • man -k key1 | grep key2| grep 2 : 根据关键字检索系统调用
    • grep -nr XXX /usr/include :查找宏定义,类型定义
    教程过程实践截图










    通过教程的实践更一步加深了理解。
  • 相关阅读:
    基于React 的audio音频播放组件
    React Context 的基本用法
    Video-React 视频播放组件的使用
    Html5 Canvas 使用
    React 中使用富文本编辑器 Braft Editor ,并集成上传图片功能
    ant design pro 项目实现路由级的动态加载按需加载
    确保代码仓库中包含 yarn.lock 文件
    ES6 对象解构赋值(浅拷贝 VS 深拷贝)
    JS 中判断数据类型是否为 null、undefined 或 NaN
    js中的数据类型及判断方法
  • 原文地址:https://www.cnblogs.com/ltl123/p/9905204.html
Copyright © 2011-2022 走看看