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

    2017-2018-1 20155220 《信息安全系统设计基础》第四周学习总结

    系统调用

    read系统调用

    • read函数的原型为:
    size_t read(int fildes, void *buf, size_t nbytes);
    
    • read函数的头文件:
    #include<unistd.h>
    

    open系统调用

    • open函数的原型为:
    int open(const char *filename, int flags); 
    int open(const char *filename, int flags, mode_t mode); 
    
    • open函数的头文件有:
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    
    • read系统调用的作用是从与文件描述符相关的文件里读入nbytes个字节的数据,并把它们放到数据区buf中,返回读入的字节数,失败时返回-1。

    close系统调用

    • close调用的函数原型为:
    int close(int fildes);
    
    • close函数的头文件:
    #include <unistd.h>
    
    • close函数的作用是终于文件描述符fildes一其对应的文件之间的关联。

    myhead

    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/types.h>
    #include <fcntl.h>
    #include <unistd.h>
    void myhead(char *filename,int n)
    {
    
        int count=0;
        char ch;
        int fd=0;
        fd=open(filename,O_RDONLY,0);
        while(read(fd,&ch,1)!=0)
        {
            putchar(ch); 
            if(ch=='
    '){count++;}
            if(count==n){break;}
        }
    }
    

    mytail

    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/types.h>
    #include <fcntl.h>
    #include <unistd.h>
    void mytail(char *filename,int n)
    {
    
        int count=0,count1=0;
        char ch;
        int fd=0;
        fd=open(filename,O_RDONLY,0);
        while(read(fd,&ch,1)!=0)
        {
            if(ch=='
    '){count++;}
        }
        close(filename);
        fd=open(filename,O_RDONLY,0);
        while(read(fd,&ch,1)!=0)
        {
            if(count1>=(count-n-1)){putchar(ch);}
            if(ch=='
    '){count1++;}
        }
        close(filename);
    }
    

    学习过程遇到的问题

    • 在实现mytail过程中,出现了输出行数少一行。
    • 解决:if(count1>=(count-n)){putchar(ch)改为
      if(count1>=(count-n-1)){putchar(ch)
  • 相关阅读:
    jQuery 回到顶部
    c# 获取客户端ip
    JS 新浪API获取IP归属地
    c#抓取网站数据
    ECLIPSE最常用快捷键排名
    BinarySearchTree示例——C++模板实现
    SICP 找零钱问题背后的思考
    关于解引用*和箭头操作符->的重载
    traits技法小计
    最大和子序列问题
  • 原文地址:https://www.cnblogs.com/20155220wsq/p/7673753.html
Copyright © 2011-2022 走看看