myod选做
要求:
1 复习c文件处理内容
2 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能
3 main与其他分开,制作静态库和动态库
4 编写Makefile
5 提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息
6 在博客园发表一篇博客,重点写遇到的问题和解决过程
1.C语言文件处理内容
(1)打开文件:fopen()
FILE *fopen(const char *filename, const char *mode)
其功能是使用给定的模式 mode 打开 filename 所指向的文件。文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回 NULL,并把错误代码存在 error 中。该函数位于C 标准库<stdio.h>中
(2)关闭文件:fclose()
函数原型:int fclose( FILE *fp );
返回值:如果流成功关闭,fclose 返回 0,否则返回EOF(-1)。(如果流为NULL,而且程序可以继续执行,fclose设定error number给EINVAL,并返回EOF。)
(3)写入文本文件:fputc()
int fputc (int c, File *fp)
在正常调用情况下,函数返回写入文件的字符的ASCII码值,出错时,返回EOF(-1)。当正确写入一个字符或一个字节的数据后,文件内部写指针会自动后移一个字节的位置。
(4)读取文本文件:fgetc()
int fgetc(FILE *stream)
从文件指针stream指向的文件中读取一个字符,读取一个字节后,光标位置后移一个字节。
2.od命令
od命令用于将指定文件内容以八进制、十进制、十六进制、浮点格式或ASCII编码字符方式显示,通常用于显示或查看文件中不能直接显示在终端的字符。
常见的文件为文本文件和二进制文件。od命令主要用来查看保存在二进制文件中的值,按照指定格式解释文件中的数据并输出。
od -tx -tc File
是先在以十六进制输出File文件内容的同时,输出字节对应的ASCII值
head.h
od.c 用来实现od -tx -tc 的功能
myod.c
运行结果(以20191202为例)