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
1047870-20180923145717533-570525249.png

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

问题2:编译出现问题
1047870-20180923145940118-1569027861.png

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

转载于:https://www.cnblogs.com/musea/p/9692744.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值