新聞中心
C語言文件復制
不應對非文本文件使用fgetc等易受干擾的函數(shù),建議用fread,fwrite讀寫二進制文件
公司主營業(yè)務:成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出貴陽免費做網(wǎng)站回饋大家。
#include "stdio.h"
/* 保護硬盤,絕對不要一個字節(jié)一個字節(jié)復制 */
#define SIZEOFBUFFER 256*1024L /* 緩沖區(qū)大小,默認為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 copyfile(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);fsize0;fsize-=SIZEOFBUFFER)
{
factread=fread(buffer,1,SIZEOFBUFFER,fp1);
fwrite(buffer,factread,1,fp2);
}
fclose(fp1);
fclose(fp2);
return 1;
}
int main()
{
copyfile("file1.txt","file2.txt");
return 0;
}
怎樣用C語言將文件復制另外的文件夾
有兩種方式可以實現(xiàn)復制:
一、自行編寫函數(shù),實現(xiàn)復制。
算法流程如下:
1 以讀的方式打開源文件,以寫的方式打開目標文件;
2 每次讀一個字節(jié),并寫到目標文件中,直到達到文件結(jié)尾為止;
3 關(guān)閉兩個文件。
二、調(diào)用系統(tǒng)命令。
stdlib.h中的system函數(shù),可以執(zhí)行系統(tǒng)命令行支持的命令。
int system(char *cmd);
調(diào)用時就是執(zhí)行cmd中的指令。
1 對于windows,就是執(zhí)行dos命令,可以調(diào)用
system("copy /Y src_file target_dir");
其中src_file為源文件,而target_dir就是目標文件夾。
2 對于Linux,需要執(zhí)行shell命令cp,如下
system("cp src_file target_dir");
C語言---如何復制任意文件?
C語言復制文件主要由三種辦法,你可以根據(jù)自己的知識選用一個
方法1)利用C語言的二進制讀寫函數(shù)
自己用fopen打開源文件和目標文件,然后用循環(huán)讀寫實現(xiàn)復制
方法2)利用操作系統(tǒng)的文件復制函數(shù)
例如Windows就有如下API函數(shù)可以復制文件
BOOL CopyFile(
LPCTSTR lpExistingFileName, // name of an existing file
LPCTSTR lpNewFileName, // name of new file
BOOL bFailIfExists // operation if file exists
);
第一個參數(shù)是用來存放當前要處理文件的路徑。
第二個參數(shù)是用來存放用戶指定的新路徑。
第三個參數(shù)它是用來判斷用戶指定的新路徑是否已經(jīng)存在要存放的路徑,如果為TRUE,則新路徑中已經(jīng)存在該文件了,該函數(shù)調(diào)用失敗,否則就調(diào)用成功。
方法3:C語言調(diào)用操作系統(tǒng)的copy命令
首先#includestdlib.h
然后 程序中 調(diào)用 system(“這里寫 copy的完整命令”);
c語言中文件復制該用什么函數(shù)?
system 函數(shù)是可以運行一個外部控制臺程序。
標準的復制文件方法是用API函數(shù) CopyFile/CopyFileEx
這兩個函數(shù),詳細參數(shù)和參數(shù)的意思,你查查MSDN上面寫的很詳細
分享標題:c語言拷貝文件的函數(shù) c語言中拷貝函數(shù)
文章位置:http://ef60e0e.cn/article/ddcdgoh.html