学习内容
本周的学习内容主要是进一步理解I/O指令,在老师给的代码下理解具体的代码内容和调用关系,老师给的几个代码,其实就是我们平时在在linux系统中使用的指令的具体代码,像是ls,cp,还有老师上课讲过的who指令,还有有一些根据文件名就基本指导代码是干什么用的,然后就是对于代码进行编译调试修改,得到结论。
代码调试
cp1.c复制操作的代码
echostate.c代码
fileinfo.c代码计算文件属性
filesize.c代码计算文件大小
开始的时候并没有注意到这个函数的问题,之后看了几个同学的博客后,发现了这个size函数的路径不是动态的,而是一个静态的路径,参考同学们进行了代码的修改
修改的代码如下
#include <stdio.h>
#include <sys/stat.h>
#include <stdlib.h> //exit()
int main(int argc, char * argv[])
{
struct stat infobuf;
char *filename;
if (argc != 2) {
printf("Please input filename
");
exit(-1);
}
filename = argv[1];
if ( stat(filename, &infobuf) == -1 )
perror(filename);
else
printf(" The size of %s is %d
",filename, infobuf.st_size );
}
ls2.c代码显示文件夹详细信息
spwd代码显示当前文件夹路径
testioctl代码显示当前命令行下行列数
who1代码
总结反思
其实本周的学习我感觉如果要是以一种读代码的态度去学习的话,其实还是比较简单的,因为代码的功能就在文件名上,而且代码的功能指导了,去读这个代码也会相对轻松不少,要在理解的基础去学习更深层次的内容,才能够得到的更多。
代码托管
行数统计
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 24篇 | 350小时 | |
第一周 | 0/0 | 1/2 | 8/8 | |
第二周 | 49/49 | 1/3 | 10/18 | |
第三周 | 0/49 | 2/5 | 10/28 | |
第四周 | 0/49 | 0/5 | 0/28 | |
第五周 | 42/91 | 1/6 | 15/43 | |
第六周 | 184/275 | 1/7 | 30/73 | |
第七周 | 94/369 | 1/8 | 20/93 | |
第八周 | 0/369 | 2/10 | 15/105 | |
第九周 | 215/584 | 1/11 | 20/125 | |
第十周 | 560/1144 | 2/13 | 20/145 |