导航:首页 > 文件教程 > c文件copy

c文件copy

发布时间:2023-07-18 00:37:12

『壹』 用C语言实现文件拷贝

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

int main(int argc, char *argv[])
{
// char s1[100],s2[100];
FILE *p1,*p2;
char ch;
if(argc!=3)
{
printf("ming ling cuowu!");
exit(1);
}
if(argc==3)
{
p1=fopen(argv[1],"r");
p2=fopen(argv[2],"w");
if(p1==NULL||p2==NULL)
{
printf("wenjian bu cunzai!");
exit(1);
}
ch=fgetc(p1);
while(ch!=EOF)
{
fputc(ch,p2);
ch=fgetc(p1);
}
printf("kaobei chenggong!");
}
return 0;
}

要用命令行的模式执行程序
可以回加我网络

『贰』 C语言函数编写:文件复制

C语言实现一个简单的文件复制功能,linux环境下。
思路步骤:(下代码最重要的逻辑步骤清晰)
第一步:打开源文件(要复制的文件),打开文件的方式以读的方式就可以了。
Linux C打开文件的库函数有:int open(const char *pathname,int flags),int open(const char *pathname,mode_t mode),以及 FILE*fopen(const char *path,const char *mode),FILE *fdopen(int fd,const char *mode),这几个函数,具体的使用方法就查看manual就可以了。
第二步:创建目标文件,所用的函数也是上面那几个。
第三步:读取文件。库函数有:size_t read(int fd,void *buf,size_t count),
size_t fread(void *ptr,size_t size,size_t nmemb,FILE *stream)
第三步:写入目标文件。用的库函数:size_t write(int fd,void *buf,size_t count),
size_t fwrite(void *ptr,size_t size,size_t nmemb,FILE*stream)
第四步:关闭文件。库函数:int fclose(FILE*fp) ,int close(int fd)
思路步骤就是这样子的了。下面是具体的代码实现。

#include
#include
#include
#include
#include
#include

int main(int argc,char *argv[])
{
int fd_source_file,fd__file;//用接受int open()函数返回的值
//FILE *fp_source_file,*fp__file;//如果用FILE *fopen()函数的话
int size_read,size_write;

char buf[1024];
char _file_name[50];
//检查参数的输入
if(argc<3)
{
printf("usage: ./a.out source_file_path _file_path\n");
exit(1);
}

//复制目标文件名
strcpy(_file_name,argv[2]);

//打开源文件
if( (fd_source_file=open(argv[1],O_RDONLY,00744))<0 )
{
perror("open source file error");
exit(1);
}

//创建目标文件
if( (fd__file=open(argv[1],O_CREAT|O_RDWR)) <0 )
{
perror("create file error");
exit(1);
}

do
{
//读取文件内容
if( (size_read=read(fd_source_file,buf,1024)) <0 )
{
perror("read source file error");
exit(1);
}

//写入目标文件
if( (size_write=write(fd__file,buf,sieze_read))<0 )
{
perror("wrire file error");
exit(1);
}

}while(size_read==1024)

return 0;
}

『叁』 怎样用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");

『肆』 C语言文件复制

不应对非文本文件使用fgetc等易受干扰的函数,建议用fread,fwrite读写二进制文件

#include "stdio.h"

/* 保护硬盘,绝对不要一个字节一个字节复制 */
#define SIZEOFBUFFER 256*1024L /* 缓冲区大小,默认为256KB */

long filesize(FILE *stream)
{
long curpos, length;
curpos = ftell(stream);
fseek(stream, 0L, SEEK_END);
length = ftell(stream);
fseek(stream, curpos, SEEK_SET);
return length;
}

int file(const char* src,const char* dest)
{
FILE *fp1,*fp2;
int fsize,factread;
static unsigned char buffer[SIZEOFBUFFER];

fp1=fopen(src,"rb");
fp2=fopen(dest,"wb+");
if (!fp1 || !fp2) return 0;
for (fsize=filesize(fp1);fsize>0;fsize-=SIZEOFBUFFER)
{
factread=fread(buffer,1,SIZEOFBUFFER,fp1);
fwrite(buffer,factread,1,fp2);
}
fclose(fp1);
fclose(fp2);
return 1;
}

int main()
{
file("file1.txt","file2.txt");
return 0;
}

『伍』 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(“这里写 的完整命令”);

『陆』 c语言 文件拷贝

#include <stdio.h>
main(){
FILE *FI, *FO;
char last=0,c;
FI=fopen("f.in","r");
FO=fopen(f.out","w");
while(! feof(FI)){
c=fgetchar(FI);
if (last!=32 && last!=9 || c!=32 && c!=9) fputchar(FO,c);
last=c;
}
fclose(FI);
fclose(FO);
}

『柒』 C语言,如何复制文件

调用系统函数是以字符串方式保存的,而非二进制。(因为dos\linux命令行下二进制编码无专意义)
所以system()一定不满足你的要属求。

可以使用c的IO函数达到你想要的目的
以下是简要说明,不考虑出错等问题:
所有IO函数包含在stdio.h中(linuxC是,turboc应该也是吧,忘了)

1、定义源文件和目标文件指针FILE *fp_source,*fp_target

2、声明一个程序内数据存放区如char buffer[100],或调用malloc函数

3、用fp_source = fopen()打开源文件文件

4、用fp_target = fopen()打开目标文件

5、
while(feof(fp_source) == 0)//利用循环复制直到源文件尾
{用fread()将源文件内容读入程序buffer
用fwrite()将buffer内容写入目标文件
}

6、别忘了close()关闭源\目标文件

7、各函数使用方法请自行查询,不赘述。

没有写全源码,但希望这条思路对你有帮助。

『捌』 如何用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语言将文件复制另外的文件夹

有两种方式可以实抄现复制:
一、自袭行编写函数,实现复制。
算法流程如下:
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");

阅读全文

与c文件copy相关的资料

热点内容
苹果硬盘数据恢复要多少钱 浏览:394
js绑定下拉框数据库数据 浏览:448
cad文件怎么复制到另一个文件里边 浏览:858
dxp钻孔文件 浏览:631
iphone大悦城换机 浏览:538
找结婚对象上什么网站 浏览:974
学生信息管理系统程序设计报告 浏览:640
微信文件怎么删除怎么恢复 浏览:407
编程程序怎么复制 浏览:467
文件更改 浏览:327
冰点文件路径 浏览:730
软件一点开文件就关闭 浏览:88
网络如何把人捧红 浏览:961
软件传输文件 浏览:184
密码记录器ios 浏览:412
两个电脑数据怎么一样 浏览:829
顺丰有什么买东西的app 浏览:377
数位板word 浏览:939
win7宽带连接出现多重网络 浏览:268
更改程序图标c语言 浏览:629

友情链接