在windows下,c语言实现拷贝文件夹,不用system和copy命令,用读写怎么做。这个用线程又可以怎么做啊

急!我是新手,麻烦各位能提供详细的代码,谢谢!

可以用文件读取的方式来做
打开源文件和目标文件
循环读取源文件内容并写入目标文件
关闭文件追问

能详细一点么

追答#include<stdio.h>
#include<stdlib.h>

int main(int argc, char *argv[]) 
{
FILE *p1,*p2; 
char ch; 
if(argc!=3)
{  
printf("文件不存在!");  
exit(1); 

if(argc==3) 
{     
p1=fopen(argv[1],"r");
p2=fopen(argv[2],"w");  
if(p1==NULL||p2==NULL) 
{   
printf("文件不存在!"); 
exit(1);  
}      
ch=fgetc(p1);   
while(ch!=EOF)  
{     
fputc(ch,p2);   
ch=fgetc(p1);   
}     
printf("拷贝完成!"); 
}
return 0;
}

追问

用 read write怎么写 ?感谢您已给出的参考:谢谢

追答

看一下fread和fwrite的定义,然后相应的替换掉fgetc和fputc即可

追问

我用的是vc++2008 怎么那个Debug 弹出来一下 就自动关闭了

追答

该程序使用方式是在命令提示符下操作的
比如说生成文件为mycopy.exe
那么将命令提示符路径定位到该文件目录下
加入要拷贝1.txt到2.txt
可以输入mycopy 1.txt 2.txt即可

追问

怎么定位啊

追答

dos命令 比如文件目录是e:\myproj\mycopy.exe
那么在命令提示符下输入
e:回车
cd myproj回车
此时就定位到mycopy.exe所在目录了

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答