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

    myod

    单独开了篇博客,如下:
    对Linux命令od -tc -tx1的C语言程序实现myod-优化版

    两条指令

    • man -k key1|grep key2|grep 2

    “key1|grep key2|grep 2”都是关键字

    • grep -nr XXX /usr/include

    可用于查找宏 :“n”,显示行;“r”某目录下递归调用;“XXX”宏名

    head&tail

    需求分析

    • 翻阅资料

    通过

    man 1 head
    
    man 1 tail
    

    可以查到相应的帮助文档

    简而言之就是:head输出文件开始的部分,tail输出文件后面的部分

    • 我实现的内容是:

    head:默认输出前十行,加上“-数字h”则输出后h行,h超出文本总行数则输出全部文本。
    tail:默认输出后十行,加上“-数字h”则输出后h行h超出文本总行数则输出全部文本。

    伪代码

    • head

    1.测试是否输入正确,错误则报错退出

    2.分析输入数据。

     默认状况下令输出行数为10,当对输出行数有了限制,将“-”后面的数字剥离出,用aoti()转化为整型,视作输出行数。
    

    3.输出——用“(h<output_h)&&(h<num_h)”限制输出行数。

       默认状况下令输出行数为10,文件不足10行时输出全部文本,对输出行数有限制时输出限制行数。
    
    • tail
      整体和head差不多,只是在限制输出时与head有所不同——顺序输出后面部分。
      用“int h=num_h-output_h;”h是否大于0来使输出在合理范围内

    产品代码

    myhead
    mytail

    测试

    然而我并不知道这个改怎么测试,所以做了测试截图

    • head
      原本指令的结果

    我的myhead的结果

    在同样环境下比对系统原有的指令,与其结果一致

    • tail

    原本指令的结果

    我的mytail的结果

    在同样环境下比对系统原有的指令,与其结果一致

    出现过的问题

    • 问题1:输出行数过多

    • 解决: 通过添加一些代码找到了原因,即下面被注释掉的代码。因为当时忽略了字符转整型应该-48。

    • 问题2:不知道怎么判定命令行输入的是默认还是限制行数

    • 解决: 通过判定argv[2][0]是否是“-”来判定是否限制行数

    • 问题3:输出行数错误或无输出

    • 解决: 上面对output_h的赋值有问题,当想输出不止个位数的行数,则只会输出前一位。所以我又做了一个myAtoi()把除了“-”的部分转化为整型。

    第十章

    • 问题:出现了一个头文件<csapp.h>,无法找到。
    • 解决:经查资料后得知,csapp.h和csapp.c都是本书作者编的,导入即可。
      参考链接为: 在Ubuntu下使用 csapp.h 和 csapp.c
      由于它的对源文件的链接已打不开,找了同学要了一份,链接如下

    csapp.h
    csapp.c

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 16篇 400小时
    第一周 9/9 1/1 19/19 熟练下载安装技能,锻炼解决问题能力
    第2周 380/389 2/3 26/45 1、7章
    第3,4周 1270/1659 3/6 42 2、10章
  • 相关阅读:
    HashPasswordForStoringInConfigFile中的Md5算法并非常用的Md5算法
    (转)C#实现MD5加密
    pb将datawindow数据导出EXCEL
    (转)笔记320 SQLSERVER中的加密函数 2013-7-11
    Sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法
    PowerDesigner中Name与Code同步的问题
    (转) PowerDesigner中Table视图同时显示Code和Name
    SQLServer2012在登录远程服务器实例时报错:尝试读取或写入受保护的内存
    PB代码动态解析执行器
    XenServer安全重启xapi的方法
  • 原文地址:https://www.cnblogs.com/GDDFZ/p/7674820.html
Copyright © 2011-2022 走看看