Myod

Myod

任务详情

复习c文件处理内容

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

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

编写Makefile

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

任务处理

  • od -tx -tc实际上是通过myok.c实现十六进制以及阿斯克码的转换
  • 建立三个文件:main.cmyod.cmyodhead.h
    • 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);
}

问题及解决方案

问题1:gcc no input files

问题1解决方案:去掉-I就行,

问题2:编译出现问题

问题2解决方案:修改代码,特别是调用文件的相关语句

posted on 2018-09-23 15:11  musea  阅读(226)  评论(0编辑  收藏  举报