zoukankan      html  css  js  c++  java
  • 家庭作业(2.79、10.8、10.9)

    2.79虚拟机代码:

    虚拟机实验结果:

    VC代码截图:

    vc运行结果:

     

    在vc环境下运行NaN的结果与在linux虚拟机中运行的结果相差甚远,不知是何缘故。

    10.8

    由于stat函数和fstat函数在功能上很相似,都是检索文件的信息,只是stat函数以文件名作为输入,而fstat函数是以文件描述符作为输入,所以只需把Stat(argv[1],&stat)改为fstat(atoi(argv[1]),&stat)即可实现功能

    include “csapp.h”

    Int main(int argc,char **argv)
    {
    struct stat stat;
    char type,readok;

    fstat(atoi(argv[1]),&stat);
    if(S_ISREG(stat.st_mode))
    type=”regular”;
    else if(S_ISDIR(stat.st_mode))
    type=”directory”;
    else
    type=”other”;
    if((stat.st_mode & S_IRUSR))
    readok=”yes”;
    else
    readok=”no”;

    printf(“type: %s,read:%s ”,type,readok);
    exit(0);
    }

    10.9

    输入重定向到了foo.txt,然而3这个描述符是不存在的。

    说明foo.txt并没有单独的描述符3。

    所以Shell执行的代码应该是这样的:

    if (Fork() == 0) {/* Child */
    int fd = open("foo.txt", O_RDONLY, 0);
    dup2(fd, 1);
    close(fd);
    Execve("fstatcheck", argv, envp);
    }

    搭档:20135320赵瀚青

     

  • 相关阅读:
    起泡排序引申出的问题
    关于NPC和NP-Hard问题
    我的书单(更新中)
    OpenCV2学习笔记03:Qt中配置OpenCV环境
    Ubuntu 14.04为浏览器添加Flash插件
    CSS3基础
    HTML5进阶
    拖拽上传及读取文件实现
    生产者消费者模型
    进程
  • 原文地址:https://www.cnblogs.com/whyfarrell/p/4894776.html
Copyright © 2011-2022 走看看