Myod
任务详情
复习c文件处理内容
编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能
main与其他分开,制作静态库和动态库
编写Makefile
提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息
任务处理
od -tx -tc
实际上是通过myok.c
实现十六进制以及阿斯克码的转换- 建立三个文件:
main.c
,myod.c
,myodhead.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解决方案:修改代码,特别是调用文件的相关语句