任务详情

复习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
Myod

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

问题2:编译出现问题
Myod

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

相关文章:

  • 2021-07-13
  • 2022-02-24
  • 2021-07-07
  • 2021-12-28
  • 2022-12-23
  • 2021-06-30
  • 2021-06-27
猜你喜欢
  • 2021-12-06
  • 2021-08-19
  • 2021-07-29
  • 2021-08-27
相关资源
相似解决方案