怎么用C语言复制文件或者移动文件,不要用system的命令。Linux命令cp cat都不行,我要

Python014

怎么用C语言复制文件或者移动文件,不要用system的命令。Linux命令cp cat都不行,我要,第1张

要求 c:\source.txt文件必须存在,可以自己建立一个这样的文本文件,并输入一些数据,以便测试。

复制文件:源文件c:\source.txt 复制到c:\dex.txt

#include<stdio.h>

void main()

{

FILE *fp1,*fp2

char str1

fp2=fopen("c:\\des.txt","w")

if((fp1=fopen("C:\\source.txt","r"))==NULL)

{

printf("file cannot be opened\n")

return

}

while((str1=fgetc(fp1))!=EOF)

fputc(str1,fp2)

fclose(fp1)

fclose(fp2)

}

希望能够帮到你。

移动文件:源文件c:\source.txt 移动到c:\dex.txt

#include<stdio.h>

void main()

{

FILE *fp1,*fp2

char str1

fp2=fopen("c:\\des.txt","w")

if((fp1=fopen("C:\\source.txt","r"))==NULL)

{

printf("file cannot be opened\n")

return

}

while((str1=fgetc(fp1))!=EOF)

fputc(str1,fp2)

fclose(fp1)

fclose(fp2)

remove("c:\\source.txt")

}

有两种方式可以实现复制:

一、自行编写函数,实现复制。

算法流程如下:

1 以读的方式打开源文件,以写的方式打开目标文件;

2 每次读一个字节,并写到目标文件中,直到达到文件结尾为止;

3 关闭两个文件。

二、调用系统命令

stdlib.h中的system函数,可以执行系统命令行支持的命令。

int system(char *cmd)

调用时就是执行cmd中的指令。

1 对于windows,就是执行dos命令,可以调用

system("copy /Y src_file target_dir")

其中src_file为源文件,而target_dir就是目标文件夹。

2 对于Linux,需要执行shell命令cp,如下

system("cp src_file target_dir")

一般的软件安装后是不能移动安装文件的。

打不开很可能因为这些文件原来都是在一个软件的目录下放置的,脱离了这个软件的根目录肯定就无法打开了,你先尝试一下如果移动回原文件目录中是否可以正常打开,如果可以。

就会是这个原因,如果不可以,那么就是其他问题了。