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

遇到问题:文件的末尾会连同控制符号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;
}
20155222 卢梓杰 myod的更多相关文章
- 20155222卢梓杰 课堂测试ch06补做
20155222卢梓杰 课堂测试ch06补做 1.下面代码中,对数组x填充后,采用直接映射高速缓存,所有对x和y引用的命中率为() A . 1 B . 1/4 C . 1/2 D . 3/4 正确答案 ...
- # 20155222卢梓杰 2016-2017-2 《Java程序设计》第2周学习总结
20155222卢梓杰 2016-2017-2 <Java程序设计>第2周学习总结 教材学习内容总结 数据类型 所占字节数 short整数 2 int整数 4 long整数 8 float ...
- 安装虚拟机及学习linux系统 20155222卢梓杰
安装虚拟机及学习linux系统 20155222卢梓杰 首先按照要求下载virtualbox,没有遇到问题. 接下来新建一个虚拟机,按照要求应当安装乌班图64,这里只有32位的.在网上搜寻了许久,终于 ...
- 20155222卢梓杰 《Java程序设计》第1周学习总结
20155222 <Java程序设计>第1周学习总结 教材学习内容总结 JDK是一个工具程序,包括了JAVA程序语言,工具程序与JRE,JRE包括了部署技术,JAVA SE API 与 J ...
- 20155222卢梓杰 实验九 Web安全基础
实验九 Web安全基础 今天不多bb,打开webgoat就是干好吧 1.简单字符串sql注入 可以看到这个实验说明是 "下表允许用户查看其信用卡号码.尝试插入一个SQL字符串,以显示所有信用 ...
- 20155222卢梓杰 实验八 Web基础
实验八 Web基础 1.安装apache sudo apt-get install apache2 2.启动apache service apache2 start 3.使用netstat -tupl ...
- 20155222卢梓杰 实验五 MSF基础应用
实验五 MSF基础应用 1.一个主动攻击实践,如ms17_010_eternalblue漏洞; 本次攻击目标是win7虚拟机 首先进行相应配置 然后点launch 就成功了 针对win7的漏洞还是相对 ...
- 20155222卢梓杰 实验一 逆向及Bof基础
实验一 逆向及Bof基础 1.实验对象为32位可执行文件pwn1,这个程序主要有main.foo.getshell这三个函数,其中foo函数功能为输出输入的字符串,getshell函数功能为打开一个s ...
- 2016-2017-2 《Java程序设计》课程学生博客和代码托管链接
2016-2017-2 <Java程序设计>课程学生博客和代码托管链接 博客 1552 20155201 李卓雯 20155202 张 旭 20155203 杜可欣 20155204 王 ...
随机推荐
- January 08 2017 Week 2nd Sunday
Believe not all that you see nor half what you hear. 眼见的不能全信,耳闻的也不能半信. What you hear, what you see, ...
- 遍历Map集合的几种方式
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entr ...
- Codeforces Round #443 (Div. 2) 【A、B、C、D】
Codeforces Round #443 (Div. 2) codeforces 879 A. Borya's Diagnosis[水题] #include<cstdio> #inclu ...
- BZOJ 3211 花神游历各国 线段树平方开根
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=3211 题目大意: 思路: 由于数据范围只有1e9,一个数字x开根号次数超过logx之后 ...
- Window窗口布局 --- DecorView浅析
开发中,通常都是在onCreate()中调用setContentView(R.layout.custom_layout)来实现想要的页面布局,我们知道,页面都是依附在窗口之上的,而DecorView即 ...
- Spark Streaming和Kafka集成深入浅出
写在前面 本文主要介绍Spark Streaming基本概念.kafka集成.Offset管理 本文主要介绍Spark Streaming基本概念.kafka集成.Offset管理 一.概述 Spar ...
- 【jQuery】结合accordion插件分析写插件的方法及注意事项
1.jQuery插件的命名方式:jquery.[插件名].js 2.对象方法附加在jQuery.fn上,全局函数附加在jQuery对象本身上 3.插件内部this指向的是通过选择器获取的jQuery对 ...
- linq中当生成asp.net实体模式时
linq中当生成asp.net实体模式时 注意: 选中 工具->库程序包管理器->管理解决方案的nuget程序包 选中下面的进行下载.
- C/C++结构体字节对齐详解
结构体的sizeof先看一个结构体:struct S1{ char c; int i;}; sizeof(S1)在VC6中按默认设置得到的结果为8.我们先看看sizeof的定义——size ...
- Linux Ubuntu出去看看
转到Ubuntu开发之后,发现不能像之前在Windows下一样直接使用GUI客户端出去看看.于是开始找梯子. 由于我的服务器端已经配置好了,只需要配置本地端即可.整个配置过程分为两步:第一步是安装本地 ...