復制文件c語言
A. c語言怎麼復制文件
BOOL
CopyFile(LPCTSTR
lpExistingFileName,LPCTSTR
lpNewFileName,BOOL
bFailIfExists
);
說明
復制文件。與vb的file命令相似
返回值
Long,非零表示成功,零表示失敗。會設置GetLastError
參數表
參數
類型及說明
lpExistingFileName
String,源文件名
lpNewFileName
String,目標文件名
bFailIfExists
Long,如果設為TRUE(非零),那麼一旦目標文件已經存在,則函數調用會失敗。否則目標文件被改寫
B. 如何用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. 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(「這里寫 的完整命令」);
D. C語言復制文件
while以及後面這么寫就好了
while( i < argc && (wbfp = fopen(argv[i],"wb"))!=NULL){
rewind(rbfp);
data(rbfp,wbfp);
fclose(wbfp);
i++;
}
fclose(rbfp);
// fclose(wbfp);
有3個問題
1.fclose(wbfp)寫在循環外邊不能達到關閉全部輸出文件的目的
2.單用(wbfp = fopen(argv[i],"wb"))!=NULL 做循環條件會內存錯誤
3.源文件每次讀取前要用rewind函數恢復指針,否則再讀就是空文件了
E. c語言復制文件
照著API文檔一步步來 沒問題的!
F. 怎樣用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");
G. 如何用C語言復制任意格式的文件(不用系統提供的函數的那種)
這是個比較簡單的程序,效率比較低(一個位元組一個位元組地復制)但能完成要求.
#include<stdio.h>
void main() { FILE *fp,*tp; unsigned char x;
char sfnm[]={ "c:\\data\\test.dat" }; // 寫入源文件名,當前文件為c:\data\test.dat
char tfnm[]={ "c:\\data\\test1.dat" }; // 寫入目的文件名,當前文件為c:\data\test1.dat
if ( fp=fopen(sfnm,"rb") ) {
if ( tp=fopen(tfnm,"wb+") {
while ( !feof(fp) ) { fread(&x,1,1,fp); fwrite(&x,1,1,tp); }
fclose(tp);
} else printf("無法打開目的文件%s\n",tfnm);
fclose(fp);
} else printf("無法打開源文件%s\n",sfnm);
}
H. c語言關於文件復制的問題(求大佬解惑~萬分感激)
我補充一下,fgetc實際上返回的不是char型,應該用int。當獲取的ch是一個字元的時候值為0-255,如果是EOF等,值小於0。這個程序根本不需要feof。如果你看的書比較老建議換新的,如果是新書,建議換一本。入門的時候走偏一點點兒,以後會很難改正。
此外,此程序沒有用二進制方式,復制特定的文件可能有差異。
I. 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(「這里寫 的完整命令」);