• 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:
    ");
    
        while(ch!=EOF)
       {
          if(ch=='
    ')
             printf("
    ");
          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:
    ");
       fp=fopen(name,"r");
       ch=fgetc(fp);
       while(ch!=EOF)
       {
          if(ch=='
    ')
          printf("
    ");
          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即可

     

  • 相关阅读:
    sql当前行数据和之前行数据相加减循环处理
    Sql 查询库、表、列名的语句
    sql 特殊字符替换
    pandas 篇
    JAVA学习--面向对象的特征二:继承性
    JAVA学习--super使用
    JAVA学习--方法的参数传递
    JAVA学习--可变个数的形参的方法
    JAVA学习--面向对象思想的落地法则
    JAVA学习--方法的重载
  • 原文地址:https://www.cnblogs.com/chengzhenghua/p/12098266.html
Copyright © 2020-2023  润新知