當前位置:首頁 » 編程語言 » 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流程裡面了,運行的命令行必須要有兩個參數