myod实现
- 复习c文件处理内容
- 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能
- main与其他分开,制作静态库和动态库
- 编写Makefile
- 提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息
- 在博客园发表一篇博客,重点写遇到的问题和解决过程
贴上代码
head.c
void Hex(char *);
void ascii(char *);
main.c
#include "head.h"
#include<stdio.h>
#include<stdlib.h>
#define MAX 100
int main()
{
char str[MAX];
scanf("%s",str);
ascii(str);
Hex(str);
return 0;
}
hex.c
#include "head.h"
#include<stdio.h>
#include<stdlib.h>
void Hex(char *str)
{
FILE *fp;
char ch;
printf("Hexadecimal numbers: \n");
fp=fopen(str,"r");
ch=fgetc(fp);
while(ch != EOF)
{
if(ch=='\n')
{
printf("\n");
}
else
{
printf("%x, ",ch);
}
ch=fgetc(fp);
}
fclose(fp);
}
ascii.c
#include "head.h"
#include<stdio.h>
#include<stdlib.h>
void ascii(char *str)
{
FILE *fp;
char ch;
fp=fopen(str,"r");
ch=fgetc(fp);
printf("ascii: \n");
while(ch != EOF)
{
if(ch=='\n')
{
printf("\n");
}
else
{
printf("%d, ",ch);
}
ch=fgetc(fp);
}
}
遇到的问题
- 依旧没有和真正的od命令一样对齐好看
- 将myod可执行文件的路径加入了PATH变量,可以直接调用
- 动态库的生成有些生疏,查看了自己之前提交的作业才慢慢想起来