第二周测试补交-myod

第二周测试补交-myod##

一、题目要求

1.复习c文件处理内容
2.编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能
3.main与其他分开,制作静态库和动态库
4.编写Makefile
5.提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息

实验内容

od命令

  • od命令常用于输出文件的八进制、十六进制或其它编码字节,用于显示或查看文件中不能直接显示于终端的字符。
  • 常见的文件为文本文件和二进制文件。此命令主要用来查看保存在二进制文件中的值。比如,程序可能输出大量的数据记录,每个数据是一个单精度浮点数。这些数据记录存放在一个文件中,如果想查看下这个数据,这时候od命令就派上用场了。在我看来,od命令主要用来格式化输出文件数据,即对文件中的数据进行无二义性的解释。不管是IEEE754格式的浮点数还是ASCII码,od命令都能按照需求输出它们的值。

main.c:

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

myod.c:

#include "myodhead.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void myod(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);
      }
      printf("hexcadecimal digit: \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);
}

运行结果:

posted @ 2019-12-25 20:53  梁旭20199320  阅读(158)  评论(0编辑  收藏  举报