當前位置:編程學習大全網 - 源碼下載 - MFC如何切割文本文件、文件操作監視

MFC如何切割文本文件、文件操作監視

我只知道第壹個,我曾經寫過壹個分割合並文本文件的程序(只要是用來分割TXT小說的,可以按章節分割):

根據妳設定的字節數分割:

bool CCutFile::CutBySize(CString SourceFile, CString StorePath, int FileSize)

{

fstream RcFile;

fstream ToFile;

char *buff; //用於記錄讀取的字符串

int size=FileSize*1024; //分割後每個文件的字節數

buff=new char[size+2];

RcFile.open(SourceFile,ios::in|ios::binary); //打開源文件

if(!RcFile) // 文件打開判斷

return false;

int n=0,i=1; //由i得到分割後文件名的數字後綴

while(!RcFile.eof())

{

RcFile.read(buff,size);

n=RcFile.gcount();

if(buff[n-1]<0||buff[n-1]>256) //判斷最後壹個字符是否是漢字壹部分,如果是,則從

{ //最後壹個字符開始往前找,直到找到第壹個不是中文

int j=n-1; //字符為止。然後用buff讀取的總字節數減去找到的那個

do //英文字符的下標,得到該字符到最後壹個字符之間的總

{ //的中文字節的個數,如果為奇數,則最後壹個字符是漢字

j--; //的前壹部分,這時將文件指針向前移壹位。並將最後壹個

}while(buff[j]<0||buff[j]>256); //字符設成空格符。

if((n-1-j)%2!=0)

{

RcFile.seekg(-1,ios::cur);

buff[n-1]=' ';

}

}

CString NewName=StorePath;

if(NewName.Right(1)!='\\') //判斷得到的保存文件夾的路徑的最後壹個字符是否是'\'

{

NewName+='\\';

}

CString cs;

cs.Format("%d",i);

NewName+=FileName+'_'+cs+".txt"; //得到第i個文件的路徑。

ToFile.open(NewName,ios::out|ios::binary); //打開第i個文件.

if(!ToFile)

return false;

ToFile.write(buff,n); //將讀取的內容寫入到第i個文件中

ToFile.close();

i++;

}

delete []buff;

RcFile.close();

if(m_DeleteSourceFile)

{

if(!::DeleteFile(m_SourcePath))MessageBox("刪除失敗","信息提示",MB_OK);

}

return true;

}

妳想要這個工程的源代碼的話把妳郵箱告訴我,我給妳發過去

  • 上一篇:請教信用證中Currency Code,Amount的問題
  • 下一篇:備案號怎麽放置到網站備案號怎麽放置到網站裏
  • copyright 2024編程學習大全網