c++實現(xiàn)合并文件以及拆分實例代碼-創(chuàng)新互聯(lián)

本文主要研究的是c++實現(xiàn)合并文件以及拆分的相關內(nèi)容,分享了實現(xiàn)代碼,具體如下。

10年的萬全網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網(wǎng)站建設的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整萬全建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“萬全網(wǎng)站設計”,“萬全網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

昨天看到一篇介紹TFS的文章,大意是為了處理海量圖片,采用分布式架構,將小圖片合并為大的文件

興趣驅(qū)使下,寫了一個簡單的文件合并拆分程序

合并的方法很簡單,將小文件寫入到大文件中,使用二進制的方式。在大文件頭,用一個int記錄合并進來的小文件的數(shù)量,接下來,一塊一塊的寫入小文件。

每一塊都分為三個部分,第一部分是文件的名稱,用20個char 來記錄;第二部分用一個int來記錄小文件的長度;第三部分則是小文件的實際內(nèi)容

這樣,在拆分時,通過文件頭部獲得小文件的數(shù)量,然后逐個獲取名稱,文件長度以及內(nèi)容

附上源代碼

合并:

void Merge() 
{ 
  char name[20]; 
  string str1 = "F:/數(shù)據(jù)/1.jpg"; 
  string str2 = "F:/數(shù)據(jù)/2.jpg"; 
  string strBlock = "F:/數(shù)據(jù)/BLOCK.dat"; 
 
  FILE* f1 = fopen(str1.c_str(),"rb+"); 
  FILE* f2 = fopen(str2.c_str(),"rb+"); 
  FILE* f3 = fopen(strBlock.c_str(),"rb+"); 
 
  // 獲取文件的長度 
  int iLen1 =filelength(fileno(f1)); 
  int iLen2 = filelength(fileno(f2)); 
 
  char *buf1 = new char[iLen1];  
  memset(buf1,0x0,iLen1);  
  char *buf2 = new char[iLen2];  
  memset(buf2,0x0,iLen2);  
 
  // 獲取文件內(nèi)容 
  fread(buf1,iLen1,1,f1);  
  fread(buf2,iLen2,1,f2);   
  fclose(f1);  
  fclose(f2);  
 
   
  // 在文件頭記錄合并文件的個數(shù) 
  int iCount = 2; 
  fseek(f3,0,SEEK_SET); 
  fwrite(&iCount,sizeof(int),1,f3); 
 
  // 寫入第一個文件 
  memset(name,0x0,20);  
  strcpy(name,str1.c_str()); 
  fwrite(name,20,1,f3);  
  fwrite(&iLen1,sizeof(int),1,f3);  
  fwrite(buf1,iLen1,1,f3);  
 
  // 寫入第二個文件 
  memset(name,0x0,20);  
  strcpy(name,str2.c_str()); 
  fwrite(name,20,1,f3);  
  fwrite(&iLen2,sizeof(int),1,f3);  
  fwrite(buf2,iLen2,1,f3);   
 
  fclose(f3);  
    
   
    
  //刪除申請的內(nèi)存    
  delete[] buf1;   
  delete[] buf2;  
}

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)建站muchs.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

分享文章:c++實現(xiàn)合并文件以及拆分實例代碼-創(chuàng)新互聯(lián)
網(wǎng)頁鏈接:http://muchs.cn/article38/dspdsp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站做網(wǎng)站、App設計、網(wǎng)站改版、定制開發(fā)虛擬主機

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化