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:
");
while(ch != EOF)
{
if(ch=='
')
{
printf("
");
}
else
{
printf("%d, ",ch);
}
ch=fgetc(fp);
}
printf("hexcadecimal digit:
");
fp=fopen(filename,"r");
ch=fgetc(fp);
while(ch != EOF)
{
if(ch=='
')
{
printf("
");
}
else
{
printf("%x, ",ch);
}
ch=fgetc(fp);
}
fclose(fp);
}
问题及解决方案
问题1:gcc no input files
问题1解决方案:去掉
-I
就行,
问题2:编译出现问题
问题2解决方案:修改代码,特别是调用文件的相关语句