编写C程序,实现cat命令的最基本功能,显示普通文件的内容(文本或者十六进制)(用open,或者fopen)。
mycat mycat.c , 以文本(ascii码)显示文件mycat.c内容。
mycat -h mycat.c, 以十六进制显示文件mycat.c的内容。
先vim mycat.c
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int argc,char *argv[])
{
FILE *fp;
if(argc<2)
printf("输入参数过少\n");
else if(argc==2)
fp=fopen(argv[1],"r");
else if(argc==3)
if(strcmp(argv[1],"-h")==0)
fp=fopen(argv[2],"r");
else
printf("请使用mycat -h [filename]\n");
else if(argc>3)
printf("输入参数过多\n");
if(fp==NULL)
perror("fopen err:\n");
while(!feof(fp)){
if(argc==2)
printf("%c",fgetc(fp));
if(argc==3)
printf("%x",fgetc(fp));
}
fclose(fp);
return 0;
}
编译 gcc mycat.c -o mycat