程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言版cat小程序

C語言版cat小程序

編輯:關於C語言

#include 
#include 
void _filecopy(FILE *fp_in, FILE * fp_out);
int main(int argc , char * argv[])
{

	FILE * fp;
	char *prog = argv[0] ;  //指定的錯誤輸出文件名;

	if( argc == 1 ) //沒有指定打開文件,把標准輸入復制到標准輸出
		_filecopy(stdin,stdout);

	else
		while(--argc > 0)
			if((fp = fopen(*++argv,"r")) == NULL) 
			{//文件打開失敗
				fprintf(stderr,"%s:打開%s失敗",prog,*argv );
				exit(1);
			}else{
				_filecopy(fp ,stdout);
				fclose(fp);
			}
	if(ferror(stdout)){  //如果輸出流出錯ferror函數返回一個非零的值
		fprintf(stderr, "%s:輸出流出錯了!\n",prog);
		exit(2);
	}
	exit(0);
	return 0;
}

void _filecopy(FILE *fp_in, FILE * fp_out)
{
	int c;
	while ((c = getc(fp_in)) != EOF)
		putc(c,fp_out);
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved