第二周测试补交-myod
第二周测试补交-myod##
一、题目要求
1.复习c文件处理内容
2.编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能
3.main与其他分开,制作静态库和动态库
4.编写Makefile
5.提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息
实验内容
od命令
- od命令常用于输出文件的八进制、十六进制或其它编码字节,用于显示或查看文件中不能直接显示于终端的字符。
- 常见的文件为文本文件和二进制文件。此命令主要用来查看保存在二进制文件中的值。比如,程序可能输出大量的数据记录,每个数据是一个单精度浮点数。这些数据记录存放在一个文件中,如果想查看下这个数据,这时候od命令就派上用场了。在我看来,od命令主要用来格式化输出文件数据,即对文件中的数据进行无二义性的解释。不管是IEEE754格式的浮点数还是ASCII码,od命令都能按照需求输出它们的值。
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);
}
运行结果: