首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

初学者之 文件复制的有关问题

2012-03-17 
菜鸟之 文件复制的问题[codeC/C++][/cod//文本文件复制#includestdio.h#includestdlib.hvoid main(in

菜鸟之 文件复制的问题
[code=C/C++]
[/cod//文本文件复制
#include<stdio.h>
#include<stdlib.h>
void main(int argc, char *argv[])
{
  FILE *fp1,*fp2;
  char ch;
  if(argc==1)
  {
  printf("have not erter file name strike any key exit");
getchar();
exit(0);
  }

  if((fp1=fopen(argv[1],"rt"))==NULL)
  {
  printf(" Cann't open %s\n",argv[1]);
getchar();
exit(1);
   
  }

  if(argc==2)
fp2=stdout;
  else if((fp2=fopen(argv[2],"wt+"))==NULL)
  {
  printf(" Cann't open %s\n",argv[1]);
getchar();
exit(1);  
  }
  while((ch=fgetc(fp1))!=EOF)
  fputc(ch,fp2);
  printf("file copied!!");
  fclose(fp1);
  fclose(fp2);
}e]

小弟初学,没见过main(int argc, char *argv[])
这样的形式,这个函数确实没怎么读懂。
编译后 出现的是:have not erter file name strike any key exit。。
希望大侠后帮我讲讲 谢谢啊

[解决办法]
(int argc, char *argv[])//这个是你用cmd之类的去执行可执行文件的时候,后边跟的字符串,argc表示字符串的个数,argv[]是字符串的数组
[解决办法]
main(int argc, char *argv[])

这两个参数与命令行有关
argc 表示命令行参数的数目,包括命令自身
argv 包含所有的命令行参数

假定你的执行程序是aa
执行时,aa sourcefile destfile
那么argc=3, argv[0]="aa", argv[1]="sourcefile", argv[2]="destfile"
[解决办法]
费那事儿!
system("cmd /c copy file1 file2 >NUL 2>NUL");
[解决办法]
通过快捷方式传进去文件路径就好了
[解决办法]

探讨

费那事儿!
system("cmd /c copy file1 file2 >NUL 2>NUL");

热点排行