導航:首頁 > 程序命令 > c語言命令行文件復制文件

c語言命令行文件復制文件

發布時間:2022-09-21 08:41:19

❶ 怎樣用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功能

#include <stdio.h>

int main()
{
FILE *fin,*fout;
char filename1[80],filename2[80],ch;
scanf("%s%s",filename1,filename2);
fin=fopen(filename1,"r");
fout=fopen(filename2,"w");
while (fscanf(fin,"%c",&ch)!=EOF)
fprintf(fout,"%c",ch);
fclose(fin);
fclose(fout);
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語言將文件復制另外的文件夾

有兩種方式可以實現復制:
一、自行編寫函數,實現復制。
演算法流程如下:
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語言實現文件拷貝

#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語言里的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語言實現命令行式的COPY功能

#include "stdio.h"
#include "stdlib.h"
char buff[32768];
main(int argc,char *argv[])
{
FILE *fp1,*fp2; //定義兩個文件
unsigned int bytes,Bsize=32768;
unsigned long i=0;
if((fp1=fopen(argv[1],"rb"))==0) //讀文件
{printf("can't open file %s.",argv[1]);exit(0);}
if((fp2=fopen(argv[2],"w"))==0) //寫文件
{printf("can't open file %s.",argv[2]);exit(0);}
while(Bsize) //下面拷貝文件
{
if(fread(buff,Bsize,1,fp1))
{
fwrite(buff,Bsize,1,fp2);
i=i+Bsize;
}
else
{
fseek(fp1,i,0);
Bsize=Bsize/2;
}
}
fclose(fp1);
fclose(fp2); //關閉文件
}

❾ C語言編程 將一個文件復制為另一個文件

#include
int
main()
{
FILE
*one,
*two;
one
=
fopen("sfile.txt",
"r");
two
=
fopen("tfile.txt",
"w");
char
c;
while((c=fgetc(one))!=EOF)
fputc(c,two);
fflush(two);
fclose(one);
fclose(two);
return
0;
}
一個最簡單的文件復制函數,功能很有限,要求源文件和目標文件在同一個目錄下。。。。。。

❿ 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語言命令行文件復制文件相關的資料

熱點內容
如何確認方舟編譯器 瀏覽:664
奶粉源箱源碼什麼意思 瀏覽:178
台州程序員兼職一般去哪些網站 瀏覽:388
舊版本怎麼下載到新的安卓 瀏覽:966
flash個人網站源碼下載 瀏覽:723
javasocketbyte 瀏覽:264
素描基礎教程pdf 瀏覽:541
香港商報pdf版 瀏覽:427
安卓手機怎麼錄制吉他彈奏 瀏覽:382
ie文件夾緩存在哪裡 瀏覽:264
圍棋排名演算法 瀏覽:963
zigbee加密演算法 瀏覽:464
柏楊版資治通鑒pdf 瀏覽:395
事業編程序員下班時間 瀏覽:10
linux中命令大全 瀏覽:39
pic單片機學習網站 瀏覽:164
843除6的演算法 瀏覽:377
arduino編程視頻 瀏覽:746
pdf背景綠色 瀏覽:613
記事本dos命令 瀏覽:276