zoukankan      html  css  js  c++  java
  • 20145334 《信息安全系统设计基础》第10周学习总结

    open函数:打开一个已存在的文件或者创建一个新文件

    #include <sys/types.h>
        #include <sys/stat.h>
        #include <fcntl.h>
    
        int open(char *filename,int flags,mode_t mode);
    

    open函数将filename转换为一个文件描述符,并且返回描述符数字。
    返回的描述符总是在进程中当前没有打开的最小描述符。

    O_ RDONLY :只读 
    O_ WRONLY :只写 
    O_ RDWR :可读可写
    

    flag参数可以是一个或多个更多位掩码

    O_ CREAT:如果文件不存在,就创建它的一个截断的空文件
    O_ TRUNC:如果文件已经存在,就截断它 
    O_ APPEND:在每次写操作前,设置文件位置到文件的结尾处
    

    应用程序是通过分别调用read和write函数来执行输入和输出的

    #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包健壮地读写
    RIO包的实质:I/O包

    RIO包提供的两种函数:

    无缓冲的输入输出函数、带缓冲的输入函数(线程安全)
    应用程序通过调用rioreadn和riowritten函数可以在存储器和文件之间直接传送数据

    #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);
    

    读取文件元数据
    检索文件信息(元数据):应用程序能够通过调用stat和fstat函数

    #include <unistd.h>
    #include <sys/stat.h>
    int stat(const char *filename,struct stat *buf);
    int fstat(int fd,struct stat *buf);
    

    stat函数以一个文件名作为输入,填写一个stat数据结构中的各个成员。
    fstat函数以文件描述符而不是文件名作为输入。
    st_ size成员包含了文件的字节数大小。
    st_ mode成员则编码了文件访问许可位和文件类型。
    文件类型包括:
    普通文件:某种类型的二进制或文本数据。
    目录文件:关于其他文件的信息。
    套接字:一种用来通过网络与其他进程通信的文件。

    宏指令:根据st_mode成员来确定文件的类型
    在sys/stat.h中定义:

    S_ ISREG():这是一个普通文件吗? 
    S_ ISDIR():这是一个目录文件吗? 
    S_ ISSOCK():这是一个网络套接字吗?
    

    Unix外壳提供了I/O重定向操作符,允许用户将磁盘文件和标准输入输出联系起来。

    unix> ls > foo.txt

    标准I/O
    标准I/O库将一个打开的文件模型化为一个流,一个流就是一个指向FILE类型的结构的指针。每个ANSIC程序开始都有三个打开的流stdin、stdout和stderr,分别对应于标准输入、标准输出、标准错误。

    #include <stdio.h>
    extern FILE *stdin;
    extern FILE *stdout;
    extern FILE *stderr;
    







  • 相关阅读:
    动态SQL和PL/SQL的EXECUTE选项分析
    PL/SQL开发中动态SQL的使用方法
    windows 快捷调用
    Windows PE 工具
    面向对象(OOP)五大基本原则
    图像几何变换(geometric transformation)
    BP神经网络模型及梯度下降法
    人工神经元模型及常见激活函数
    Python: PS 滤镜--高反差保留 (High pass)
    Python: PS 滤镜--碎片特效
  • 原文地址:https://www.cnblogs.com/bestizwh/p/6070088.html
Copyright © 2011-2022 走看看