# 2017-2018-1 20155224 《信息安全系系统设计基础》第四周MyOD

2017-2018-1 20155224 《信息安全系系统设计基础》第四周MyOD

在这里跟老师先道歉,当时我的git没有安装好,后面也一直没有装上,所以程序没有git。

要求

  1. 参考教材第十章内容
  2. 用Linux IO相关系统调用编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能,注意XXX是文件名,通过命令行传入,不要让用户输入文件名
  3. 不要把代码都写入main函数中
  4. 要分模块,不要把代码都写入一个.c中
  5. 提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息
  6. 课上上传代码到码云

代码实现

码云链接

MyOD.c

#include "head.h"
#include<stdio.h>
#include<stdlib.h>
void main()
{
    char filename[50];
    printf("input filename: ");
    scanf("%s",filename);
    ascii(filename);
    Hexa(filename);
}
ascii.c

#include "head.h"
#include<stdio.h>
#include<stdlib.h>
void ascii(char *filename)
{
    FILE *fp;
    char ch;
    fp=fopen(filename,"r");
    ch=fgetc(fp);
    printf("ascii: \n");
    while(ch != EOF)
    {
        if(ch==‘\n‘)
        {
            printf("\n");
        }
        else
        {
            printf("%d, ",ch);
        }
        ch=fgetc(fp);
    }
}
Hexa.c

#include "head.h"
#include<stdio.h>
#include<stdlib.h>
void Hexa(char *filename)
{
    FILE *fp;
    char ch;
    printf("Hexadecimal numbers: \n");
    fp=fopen(filename,"r");
    ch=fgetc(fp);
    while(ch != EOF)
    {
        if(ch==‘\n‘)
        {
            printf("\n");
        }
        else
        {
            printf("%x, ",ch);
        }
        ch=fgetc(fp);
    }
    fclose(fp);
}

结果截图

实验分析

本次编写的MyOD程序功能为:输入txt文件名,将文件内容转换为ascii码值与十六进制分别输出,在这里我是在主程序中调用两个子程序完成了打印。

时间: 2024-08-30 10:40:23

# 2017-2018-1 20155224 《信息安全系系统设计基础》第四周MyOD的相关文章

# 2017-2018-1 20155224 《信息安全系系统设计基础》实验四

2017-2018-1 20155224 <信息安全系系统设计基础>实验四 外设驱动程序设计-1 学习资源中全课中的"hqyj.嵌入式Linux应用程序开发标准教程.pdf"中的第十一章 提交康奈尔笔记的照片(可以多张) 外设驱动程序设计-2 在Ubuntu完成资源中全课中的"hqyj.嵌入式Linux应用程序开发标准教程.pdf"中的第十一章的test试验 提交编译,加载模块,卸载模块,测试运行的截图(要多张,全屏,体现学号信息) 根据下载好的pdf进

2017-2018-1 20155232 《信息安全系系统设计基础》实验四

2017-2018-1 20155232 <信息安全系系统设计基础>实验四 实验1学习资源中全课中的"hqyj.嵌入式Linux应用程序开发标准教程.pdf"中的第十一章,提交康奈尔笔记的照片(可以多张) 实验2在Ubuntu完成资源中全课中的"hqyj.嵌入式Linux应用程序开发标准教程.pdf"中的第十一章的test试验,提交编译,加载模块,卸载模块,测试运行的截图(要多张,全屏,体现学号信息) 实验目的 该实验是编写最简单的字符驱动程序,这里的设

信息安全系统计设计基础第四周学习总结

第三章 程序的机器级表示 3.1 历史的观点 X86 寻址方式经历三代: 1 DOS时代的平坦模式,不区分用户空间和内核空间,很不安全 2 8086的分段模式 3 IA32的带保护模式的平坦模式 3.2 程序编码 指令集体系结构(ISA):计算机硬件与底层软件的接口,它是程序员为使一个二进制机器语言程序正常运行所需要了解的属性. 包含:寄存器组织,指令集,存储器的组织和寻址方式,中断机制,I/O系统结构,机器工作状态的定义及转换,数据类型及表示,保护机制. 指令格式: 操作数地址码 操作码 IS

信息安全系15级学生课程设计——2018.05 小组课题报告

信息安全系15级学生课程设计--2018.05 小组课题报告 课题:物联网实训·远程安防监控系统 一.设计方案及可行性分析 1.项目概述 本项目需要实现以嵌入式Web服务器为核心的视频监控系统. 摄像头采集的到的图像经过压缩后,传到内置的web服务器中.用户只需要通过浏览器就可以观看摄像头采集到的数据. 除了视频监控功能外,本项目还可以搜集空气湿度.空气温度.光照强度等信息. 2.系统架构 该项目基本可以看作B/S架构,由有三部分组成: (1)核心服务端:其实是客户端(严格意义上说,PC上的浏览

# 2017-2018-1 20155224 《信息安全系统设计基础》第十一周学习总结

2017-2018-1 20155224 <信息安全系统设计基础>第十一周学习总结 教材学习内容总结 理解虚拟存储器的概念和作用 理解地址翻译的概念 理解存储器映射 掌握动态存储器分配的方法 理解垃圾收集的概念 了解C语言中与存储器有关的错误 虚拟存储器(Virtual Memory),是硬件异常,硬件地址翻译,主存,磁盘文件和内核软件的完善交互,它为每个进程提供一个大的,一致的,私有地址空间.通过一个清晰的机制,虚拟存储器提供了三个要重的能力: 它将主存看成是一个存储在磁盘上的地址空间的高速

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

2017-2018-1 20155224 <信息安全系统设计基础>第十四周学习总结 教材学习内容总结 尽量简单的总结一下本周学习内容 尽量不要抄书,浪费时间 看懂就过,看不懂,学习有心得的记一下 教材学习中的问题和解决过程 (一个模板:我看了这一段文字 (引用文字),有这个问题 (提出问题). 我查了资料,有这些说法(引用说法),根据我的实践,我得到这些经验(描述自己的经验). 但是我还是不太懂,我的困惑是(说明困惑).[或者]我反对作者的观点(提出作者的观点,自己的观点,以及理由). ) 问

2019-2020-1 20191312《信息安全专业导论》第四周学习总结

2019-2020-1 20191312<信息安全专业导论>第四周学习总结 教材学习内容总结 学习了门和电路以及计算部件,对计算机的主要构成及其构成部件的功能有了一定的了解.从门到电路再到集成电路,CPU,一个个基本构件构成了计算机.同时,这些构成计算机的部件又有着自己的特征:速度,大小和效率,也承担着不同的任务.冯诺依曼结构体系是当今大多数计算机的底层结构. 阅读了<自学是门手艺>,掌握了字符串,容器和文件的一些基本操作. 教材学习中的问题和解决过程 阅读了磁盘这一节产生疑问,磁

20135219洪韶武——信息安全系统设计基础第四周学习总结

信息安全系统设计基础第四周学习总结 学习任务:教材第三章 学习时间:10小时 学习内容 一.教材知识梳理 1.程序编码与机器级代码 程序编码: gcc编译器,将源代码转化成可执行代码,C预处理器-汇编器-链接器 机器级代码: 机器级程序的格式和行为,定义[指令集体系结构ISA],定义了处理器状态,指令格式,以及指令对状态的影响 机器级程序实用的存储地址使用的是虚拟地址 2.数据格式 整数型.长整数型存储为4字节格式 指针类型存储为4字节格式 浮点数有三种形式:单精度.双精度.扩展精度,分别为4字

2019-2020 20191323《信息安全专业导论》第四周学习总结

2019-2020 20191323<信息安全专业导论>第四周学习总结 教材学习内容总结 本周学习了第四章<门与电路>以及第五章<计算部件>. 门与电路 阐述了门与电路的关系,介绍了非门.与门.或门.异或门.与非门.或非门以及相应的布尔表达式,证明了可以用数学法来设计逻辑电路,同时也介绍了加法器等几种组合电路. 计算部件 主要阐述了冯诺伊曼体系结构以及其中结构的详细原理,同时也引出了并行体系结构,让我对计算机的计算方式有了更近一步的认识 原文地址:https://www