用C語言實現Linux命令的cat功能

#include <stdio.h>

void file_copy(FILE * file1,FILE * file2)
{
	int c;

	while((c = getc(file1)) != EOF)
	{
		putc(c,file2);
	}
}
int main(int argc,char *argv[])
{
	//聲明一個文件指針
	FILE * fp;
	if(argc == 1)
		file_copy(stdin,stdout);
	else
		while(-- argc > 0)
		{
			if((fp = fopen(*++argv,"r")) == NULL)
			{
				printf("no such file %s",*argv);
				return 1;
			}
			else
			{
				file_copy(fp,stdout);
				//關閉文件
				fclose(fp);
			}
		}
	return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章