公 告

欢迎各位网友添加友情链接,在您添加本博客:http://linux0818.blogspot.com/ 做为链接后, E-mail:linux0818@gmail.com给我,我将将您的网址添加到本博客。

2008年10月14日星期二

用c语言写的cat命令


用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);
}

 

没有评论:

发表评论