当前位置:首页 » 编程语言 » c语言文件复制命令行
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言文件复制命令行

发布时间: 2022-05-31 04:05:55

⑴ 怎样用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语言将文件复制到自己想要的文件夹

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语言中怎样实现文件的复制

可以利用系统命令行来解决这个问题,程序如下
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
system(" d:\\file1.txt e:\\file1.txt");
return 0;
}
根据实际需要更改路径和文件名即可

⑷ 有个关于C语言的题 就是在windows中用命令行完成文件的复制(从一个文件复制到另一个)。下面是我写的

注意命令行下的格式
"c:\test86" "1.txt" "2.txt"
还有最后你的文件没有关闭

⑸ C语言编程实现:将一个文件的内容复制到另一个文件。(详细点的,考试用。)谢谢!

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#ifdefBUFSIZ

#undefBUFSIZ

#defineBUFSIZ4096

#endif

/*

使用格式:mcpy源文件目标文件

且目标文件和源文件不能一样,否则会清空文件内容,

源文件必须存在,目标文件可存在也可不存在,如果存在,内容会被覆盖掉。

*/

intmain(intargc,char**argv)

{

charbuf[BUFSIZ];

intmsglen;

if(argc!=3||strcmp(argv[1],argv[2])==0)

/*argc:命令行模式下,输入的参数数目。

argv:第一个参数的首地址。*/

{

fprintf(stderr,"******************************** ");

fprintf(stderr,"Pleaseusage:%ssource_filedestination_file Andsource__file ",argv[0]);

fprintf(stderr,"******************************** ");

exit(0);

}

FILE*fp_src,*fp_des;

if((fp_src=fopen(argv[1],"r"))==NULL)

/*为空,则打开失败*/

{

fprintf(stderr,"open%sfailed! ",argv[1]);

exit(1);

}

if((fp_des=fopen(argv[2],"w"))==NULL)

/*为空,则打开或创建失败*/

{

fprintf(stderr,"open/create%sfailed! ",argv[2]);

exit(2);

}

while(fgets(buf,BUFSIZ,fp_src)!=NULL)

/*从源文件读,读失败或到达文件尾部时,返回NULL*/

{

if(fputs(buf,fp_des)==EOF)

/*写入目标文件,写入失败时,返回EOF;若成功返回写入的字节数*/

{

fprintf(stderr,"%sto%sfailed! ",argv[1],argv[2]);

exit(3);

}

}

printf("%sto%ssuccessful! ",argv[1],argv[2]);

return0;

}

⑹ C语言怎么拷贝和删除文件

有以下两种方法可以使用:第一种:1 以读方式打开文件;2 将文件读到内存;3 关闭文件;4 以写方式打开文件;5 将原始数据写回文件,写的时候,跳过要删除的字符串。第二种:当文件比较大时,全部读入内存会有可能放不下。这时可以按照以下步骤:1 将原始文件备份成备份文件,可以通过或者系统复制命令实现;2 以写方式打开原文件;3 以读方式打开备份文件;4 依次读备份文件,并写入原文件,读的时候跳过要删除的部分。可以读后抛弃,也可以使用fseek函数实现;5 关闭两个文件;6 删除备份文件。

⑺ 如何在C语言中实现DOS命令中有空格的COPY命令

和system()函数根本就没有任何关系!因为"\"和右边的一个字符组成转义,当需要使用"\"本身时,再加一个"\"就行了。如下:char
files[]="
d:\\Progra~1\\1.txt
f:\\"

⑻ 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语言改错:实现文件的复制,源文件名和目标文件名由命令行参数指定.

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *srcFile, *destFile;
int ch;

/*********Found************/
if (argc != 3)
{
printf("输入参数有误.\n");
exit(1);
}

/*********Found************/
if ((srcFile = fopen(argv[1], "rb")) == NULL)
{
printf("无法打开源文件 %s\n", argv[1]);
exit(2);
}

if ((destFile = fopen(argv[2], "wb")) == NULL)
{
fclose(srcFile);
printf("无法打开目标文件 %s\n", argv[2]);
exit(3);
}

while ((ch = fgetc(srcFile)) != EOF)
{
fputc(ch, destFile);
}
printf("succeful to a file!\n");
fclose(srcFile);
fclose(destFile);

return 0;
}

⑽ C语言文件复制问题

走到else流程里面了,运行的命令行必须要有两个参数