复制文件c语言
A. c语言怎么复制文件
BOOL
CopyFile(LPCTSTR
lpExistingFileName,LPCTSTR
lpNewFileName,BOOL
bFailIfExists
);
说明
复制文件。与vb的file命令相似
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数
类型及说明
lpExistingFileName
String,源文件名
lpNewFileName
String,目标文件名
bFailIfExists
Long,如果设为TRUE(非零),那么一旦目标文件已经存在,则函数调用会失败。否则目标文件被改写
B. 如何用c语言将文件复制到自己想要的文件夹
C语言里的system("");函数可以执行命令行的几乎所有指令,把命令行输入的内容作为参数传入即可。复制文件的话 应该是: 源文件 目的路径。
例如命令行里的 c:\test.txt d:\text.txt,
也就是C语言里的:system(" c:\test.txt d:\text.txt");
或者这样
char c[50] = " c:\test.txt d:\text.txt";
system(c);
C. C语言---如何复制任意文件
C语言复制文件主要由三种办法,你可以根据自己的知识选用一个
方法1)利用C语言的二进制读写函数
自己用fopen打开源文件和目标文件,然后用循环读写实现复制
方法2)利用操作系统的文件复制函数
例如Windows就有如下API函数可以复制文件
BOOL CopyFile(
LPCTSTR lpExistingFileName, // name of an existing file
LPCTSTR lpNewFileName, // name of new file
BOOL bFailIfExists // operation if file exists
);
第一个参数是用来存放当前要处理文件的路径。
第二个参数是用来存放用户指定的新路径。
第三个参数它是用来判断用户指定的新路径是否已经存在要存放的路径,如果为TRUE,则新路径中已经存在该文件了,该函数调用失败,否则就调用成功。
方法3:C语言调用操作系统的命令
首先#include<stdlib.h>
然后 程序中 调用 system(“这里写 的完整命令”);
D. C语言复制文件
while以及后面这么写就好了
while( i < argc && (wbfp = fopen(argv[i],"wb"))!=NULL){
rewind(rbfp);
data(rbfp,wbfp);
fclose(wbfp);
i++;
}
fclose(rbfp);
// fclose(wbfp);
有3个问题
1.fclose(wbfp)写在循环外边不能达到关闭全部输出文件的目的
2.单用(wbfp = fopen(argv[i],"wb"))!=NULL 做循环条件会内存错误
3.源文件每次读取前要用rewind函数恢复指针,否则再读就是空文件了
E. c语言复制文件
照着API文档一步步来 没问题的!
F. 怎样用C语言将文件复制另外的文件夹
有两种方式可以实现复制:
一、自行编写函数,实现复制。
算法流程如下:
1
以读的方式打开源文件,以写的方式打开目标文件;
2
每次读一个字节,并写到目标文件中,直到达到文件结尾为止;
3
关闭两个文件。
二、调用系统命令。
stdlib.h中的system函数,可以执行系统命令行支持的命令。
int
system(char
*cmd);
调用时就是执行cmd中的指令。
1
对于windows,就是执行dos命令,可以调用
system("
/Y
src_file
target_dir");
其中src_file为源文件,而target_dir就是目标文件夹。
2
对于Linux,需要执行shell命令cp,如下
system("cp
src_file
target_dir");
G. 如何用C语言复制任意格式的文件(不用系统提供的函数的那种)
这是个比较简单的程序,效率比较低(一个字节一个字节地复制)但能完成要求.
#include<stdio.h>
void main() { FILE *fp,*tp; unsigned char x;
char sfnm[]={ "c:\\data\\test.dat" }; // 写入源文件名,当前文件为c:\data\test.dat
char tfnm[]={ "c:\\data\\test1.dat" }; // 写入目的文件名,当前文件为c:\data\test1.dat
if ( fp=fopen(sfnm,"rb") ) {
if ( tp=fopen(tfnm,"wb+") {
while ( !feof(fp) ) { fread(&x,1,1,fp); fwrite(&x,1,1,tp); }
fclose(tp);
} else printf("无法打开目的文件%s\n",tfnm);
fclose(fp);
} else printf("无法打开源文件%s\n",sfnm);
}
H. c语言关于文件复制的问题(求大佬解惑~万分感激)
我补充一下,fgetc实际上返回的不是char型,应该用int。当获取的ch是一个字符的时候值为0-255,如果是EOF等,值小于0。这个程序根本不需要feof。如果你看的书比较老建议换新的,如果是新书,建议换一本。入门的时候走偏一点点儿,以后会很难改正。
此外,此程序没有用二进制方式,复制特定的文件可能有差异。
I. C语言文件复制
C语言复制文件主要由三种办法,你可以根据自己的知识选用一个
方法1)利用C语言的二进制读写函数
自己用fopen打开源文件和目标文件,然后用循环读写实现复制
方法2)利用操作系统的文件复制函数
例如Windows就有如下API函数可以复制文件
BOOL CopyFile(
LPCTSTR lpExistingFileName, // name of an existing file
LPCTSTR lpNewFileName, // name of new file
BOOL bFailIfExists // operation if file exists
);
第一个参数是用来存放当前要处理文件的路径。
第二个参数是用来存放用户指定的新路径。
第三个参数它是用来判断用户指定的新路径是否已经存在要存放的路径,如果为TRUE,则新路径中已经存在该文件了,该函数调用失败,否则就调用成功。
方法3:C语言调用操作系统的命令
首先#include<stdlib.h>
然后 程序中 调用 system(“这里写 的完整命令”);