20155222 卢梓杰 myod

  1. 复习c文件处理内容
  2. 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能
  3. main与其他分开,制作静态库和动态库
  4. 编写Makefile
  5. 提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息
  6. 在博客园发表一篇博客,重点写遇到的问题和解决过程

遇到问题:文件的末尾会连同控制符号LF一起输出

解决过程:在读入时做一个控制iscntrl(ch)判断是否是控制字符(需要头文件#include<ctype.h>)


#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
int main(int argc,char *argv[])
{
FILE *fp;
char ch;
char str[16];
int i=0,j;
if((fp = fopen(argv[1],"r"))==NULL)
{
printf("Failure to open %s !\n",argv[0]);
exit(0);
}
while((ch=fgetc(fp))!=EOF&&(!iscntrl(ch)))
{
str[i]=ch;
i++;
if(i==16)
{
i=0;
for(j=0;j<16;j++)
printf("%4d",str[j]);
printf("\n");
for(j=0;j<16;j++)
printf("%4c",str[j]);
printf("\n");
}
}
for(j=0;j<i;j++)
printf("%4d",str[j]);
printf("\n");
for(j=0;j<i;j++)
printf("%4c",str[j]);
printf("\n");
fclose(fp);
return 0;
}

最新文章

  1. xUnit入门一
  2. codeforces泛做..
  3. 一种更清晰的Android架构(转)
  4. Oracle中把一个DateTime的字符串转化成date类型。to_date(&#39;2016/12/8 18:55:43&#39;,&#39;yyyy/MM/dd hh24:mi:ss&#39;),
  5. Manifest文件简介
  6. windows server 2008 asp连接数据库sql2000失败
  7. AlertDialog与DialogFragment
  8. taobao面试要点
  9. myeclipse 2013 SR2 安装svn
  10. lpc1788IO口模拟IIC
  11. pyv8安装
  12. 201521123060 《Java程序设计》第13周学习总结
  13. ch340是什么芯片
  14. 0_Simple__asyncAPI
  15. An incompatible version [1.1.29] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
  16. linux-shell系列8 netstat用法
  17. GCC 提供的原子操作
  18. 新手MySQL工程师必备命令速查手册
  19. 如何让windows启动后,自动加载一个DLL
  20. Android SDK和ADT无法更新的解决办法

热门文章

  1. php给$_POST赋值会导致值为空
  2. [BZOJ 2186][SDOI 2008] 莎拉公主的困惑
  3. 015.2Condiction接口
  4. Zookeeper学习之路 (三)shell操作
  5. 递归根据父ID 找所有子类ID
  6. keepalived 的进程/usr/sbin/keepalived -D 只有2个
  7. Gradle Goodness: Renaming Files while Copying
  8. 允许跨域资源共享(CORS)携带 Cookie (转载)
  9. C++获取毫秒级时间戳
  10. jquery toggleclass方法