myod实验

实验内容:

1 复习c文件处理内容

2 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能

3 main与其他分开,制作静态库和动态库

4 编写Makefile

5 提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息

实验过程:

od -tx -tc XXX的功能为:在以十六进制输出文件内容(默认为四个字节一组)的同时输出字节对应的ASCII值。

1.代码实现

myod.c

#include "head.h"
#include <stdio.h>
void main()
{
char name[];
printf("please input the txtname:");
scanf("%s",name);
ascii(name);
hex(name);
}

ascii.c

#include "head.h"
#include <stdio.h>
void ascii(char *name)
{
FILE *fp;
char ch;
fp=fopen(name,"r");
ch=fgetc(fp);
printf("output the ascii:\n"); while(ch!=EOF)
{
if(ch=='\n')
printf("\n");
else
printf("%4d",ch);
ch=fgetc(fp);
}
fclose(fp);
}

hex.c

#include "head.h"
#include <stdio.h>
void hex(char *name)
{
FILE *fp;
char ch;
printf("output the hex:\n");
fp=fopen(name,"r");
ch=fgetc(fp);
while(ch!=EOF)
{
if(ch=='\n')
printf("\n");
else
printf("%4x",ch);
ch=fgetc(fp);
}
fclose(fp);
}

head.h

void hex(char *name);
void ascii(char *name);

1.  用myod XXX实现Linux 下od -tx -tc XXX的功能

输入gcc *.c即可编译成功,新建一个记事本test.txt,里面输入一些随机的东西

2.  用静态库

将.o文件生成静态库后,gcc即可

3.  用动态库

对ascii.c和hex.c制作动态库,然后gcc编译即可

4.  Makefile

Makefile如下,写好后直接make即可

20199317 myod实验的更多相关文章

  1. myod实验(选做)

    myod实验 实验任务 1 复习c文件处理内容 2 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能 main与其他分开,制作静态库和动态库 编写Makefile ...

  2. 实验MyOD

    实验MyOD 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 提交测试代码和运行结果截图,加上学号水印,提交码云代码链接. 代码如下: (刚开始 ...

  3. 20155306 2017-2018-1《信息安全系统设计》第二周课堂测试以及myod的实现

    20155306 2017-2018-1<信息安全系统设计>第二周课堂测试以及myod的实现 第二周课堂测验: (注:前两项在课堂已提交,在此不做详解) 第一项: 每个.c一个文件,每个. ...

  4. 20175208 张家华 MyOD

    一.实现目的: 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 二.功能简介 1.Linux下的od功能是将指定文件内容以八进制.十进制.十六进 ...

  5. MyOD

    一.实现目的: 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 二.功能简介 1.Linux下的od功能是将指定文件内容以八进制.十进制.十六进 ...

  6. 20155219&20155224 《信息安全系统设计基础》实验一 开发环境的熟悉

    实验内容 实验两人一组,最多三人一组 可以使用自己的笔记本,也可以使用实验室台式机 使用实验箱作为超级终端. 实验中学到的知识点 交叉编译 宿主机与目标机 NFS 超级终端 file命令 实验步骤 实 ...

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

    2017-2018-1 20155224 <信息安全系系统设计基础>第四周MyOD 在这里跟老师先道歉,当时我的git没有安装好,后面也一直没有装上,所以程序没有git. 要求 参考教材第 ...

  8. 2017-2018-1 20155313 《信息安全系统设计基础》 Myod

    2017-2018-1 20155313 <信息安全系统设计基础> Myod Myod要求 1.复习c文件处理内容 2.编写myod.c 用myod XXX实现Linux下od -tx - ...

  9. 补交20145226蓝墨云班课 -- MyOD

    蓝墨云班课 -- MyOD.java 具体描述: 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能. 提交测试代码和运行结果截图,加上学号水印,提 ...

随机推荐

  1. mongo日常命令集锦

    查询某个字段是否存在 db.student.findOne({name:{$exists:true}}) db.student.findOne({'department.name':{$exists: ...

  2. python做批量剪切、旋转等小程序

    我自己在学习python时自己动手做了几个简单实用的小程序,对大家做图像的增强很有效果,我包括我的同学目前都在用我的小程序来做图像增强,非常的实用.话不多说上代码: import globimport ...

  3. C#堆和栈的入门理解

    声明:以下内容从网络整理,非原创,适当待入个人理解. 解释1.栈是编译期间就分配好的内存空间,因此你的代码中必须就栈的大小有明确的定义:堆是程序运行期间动态分配的内存空间,你可以根据程序的运行情况确定 ...

  4. v:bind指令对于传boolean值的注意之处

    1,

  5. Homebrew安装和Mac使用

    软件安装 1.Homebrew安装   ruby环境: curl -sSL https://get.rvm.io | bash -s stable   官网方式: /usr/bin/ruby -e & ...

  6. windows CMakeLists.txt

    在windows下写好CMakeLists.txt,然后配合cmake-gui使用. CMakeLists.txt写的不够好,后期优化,以下仅供参考: # set(OpenCV_DIR D:/Prog ...

  7. html 中embed标签使用

    代码如下: embed src=url 说明:embed可以用来插入各种多媒体,格式可以是 Midi.Wav.AIFF.AU.MP3.PDF.jpg等等,Netscape及新版的IE 都支持.url为 ...

  8. Spring AOP编程(二)-AOP实现的三种方式

    AOP的实现有三种方式: l         aop底层将采用代理机制进行实现. l         接口 + 实现类 :spring采用 jdk 的动态代理Proxy. l         实现类: ...

  9. 每天进步一点点------SOPC的Avalon-MM IP核(三) LCD1602 IP定制

    注:Avalon信号类型命名参考图 /********************************************************************************* ...

  10. tomcat使用中的笔记

    1.修改tomcat命令窗口的名字 平时在使用tomcat的时候,经常会在一台机器上启动多个tomcat,但是默认的情况下启动多个就不好区分对应启动了什么应用,这时我们就可以通过修改tomcat窗口名 ...