當前位置:編程學習大全網 - 編程語言 - 試著寫壹個這樣的程序。

試著寫壹個這樣的程序。

#包含?& ltstdio.h & gt

#包含?& ltstdlib.h & gt

#包含?& ltstring.h & gt

#ifdef?BUFSIZ

# undef?BUFSIZ

#定義?BUFSIZ?4096

#endif

/*

使用格式:mcpy?源文件?目標文件

並且目標文件和源文件不能相同,否則文件內容將被清空。

源文件必須存在,目標文件可能存在,也可能不存在。如果存在,內容將被覆蓋。

*/

int?main(int?argc,char?**argv)

{

夏爾?buf[buf siz];

int?msglen

如果(argc!=3||strcmp(argv[1],argv[2])==0)

/*argc:在命令行模式下輸入的參數數量。

Argv:第壹個參數的第壹個地址。*/

{

fprintf(stderr," * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n \ n ");

fprintf(stderr,"拜托?用法:%s?源文件?目標文件\ n和?源文件?是嗎?不壹樣?從哪裏?destination_file\n\n ",argv[0]);

fprintf(stderr," * * * * * * * * * * * * * * * * * * * * * \ n ");

退出(0);

}

文件?*fp_src,* fp _ des

if((fp_src=fopen(argv[1]," r))= = NULL)

/*為空,則打開失敗*/

{

fprintf(stderr," open?%s?失敗了!\n ",argv[1]);

退出(1);

}

if((fp_des=fopen(argv[2]," w))= = NULL)

/*為空,則打開或創建失敗*/

{

fprintf(stderr,"打開/創建?%s?失敗了!\n ",argv[2]);

出口(2);

}

while(fgets(buf,BUFSIZ,fp_src)!=空)

/*從源文件讀取,返回NULL*/

{

if(fputs(buf,fp_des)==EOF)

/*寫入目標文件,並返回EOF如果寫入失敗;如果成功返回寫入的字節數*/

{

fprintf(stderr," copy?%s?去哪?%s?失敗了!\n ",argv[1],argv[2]);

出口(3);

}

}

printf("復制?%s?去哪?%s?成功了!\n ",argv[1],argv[2]);

回歸?0;

}

  • 上一篇:簡歷中計算機能力怎麽寫
  • 下一篇:strcmp()函數怎麽用?
  • copyright 2024編程學習大全網