20199317 myod实验

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[50];
    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即可

 

 

posted on 2019-12-25 18:08  20199317-程峥华  阅读(197)  评论(0编辑  收藏  举报

导航