用c语言写的cat命令:linux下编译:gcc cat.c -Wall ,改名:mv a.out cat
之后就可以当成一个简单的cat命令用了,如:cat filename1 filename2 filename3 filename4 等等同时显示多个文件的内容。源代码如下:
#include <stdio.h>
#include <string.h>
void cat(int j,char *str[256]);
int main(int argc, char **argv)
{
int i;
for(i=1;i<argc;i++)
{
cat(i,argv);
}
return 0;
}
void cat(int j,char *str[256])
{
FILE *fp;
char buf[11];//定义数组没被赋值时,只能给buf[11]赋10个值,留一个值给内存分配的分隔符0
fp = fopen(str[j], "r");
printf("The %d file is:\n",j);
while (!feof(fp)) {
memset(buf,0,11);//清零,最后一次读文件时,可能没有10个字符,不用此句时,最后一次部分会显示倒数第二次的数
fread(buf, 10, 1, fp);//读到buf中,一次读一个字节,读一次,所读文件的文件句柄
printf("%s", buf);
}
printf("\n");
fclose(fp);
}
没有评论:
发表评论