MyOD

实验内容:

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

od命令

od命令用于将指定文件内容以八进制、十进制、十六进制、浮点格式或ASCII编码字符方式显示。

-tx表示以十六进制显示,-tc表示以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);

2.实验过程

1.  新建一个txt文件并往里面存入一些数据

2.  写入上述函数

 

3.编译并运行

4.制作静态库

 

5.制作动态库

 

6.makefile

 

 

 三、实验思考与体会

本次实验难度并不大,基本上是回顾过去几周学习过的知识。

当执行函数动态链接.so时,发现文件不在缺省目录下,将myod可执行文件的路径加入了PATH变量,则可以直接调用。

 

posted @ 2020-10-11 21:08  20181220王冠杰  阅读(36)  评论(0编辑  收藏  举报