MFC 文件操作

1.创建文件夹 
CreateDirectory(%%1,NULL); 

2.创建文件 
CFile file;  
file.Open(%%1,CFile::modeCreate|CFile::modeWrite);  

3.删除文件 
DeleteFile(%%1); 

4.删除文件夹 
RemoveDirectory(%%1);  

5.删除一个目录下所有的文件夹 
CFileFind finder;  
BOOL bWorking = finder.FindFile(%%1+"//*.*");  
while (bWorking) 

bWorking = finder.FindNextFile(); 
if (finder.IsDirectory()) 

RemoveDirectory(finder.GetFilePath()); 

}  

6.清空文件夹 
RemoveDirectory(%%1); 
CreateDirectory(%%1,NULL); 

7.读取文件 
char sRead[1024]; 
CFile mFile(_T(%%1),CFile::modeRead); 
while (sRead!=null) 

mFile.Read(sRead,1024); 
CString %%2(sRead); 
%%3 

8.写入文件 
CFile mFile(_T(%%1), CFile::modeWrite|CFile::modeCreate); 
mFile.Write(%%2,sizeof(%%2)); 
mFile.Flush(); 
mFile.Close();  

9.写入随机文件 
char szTempPath[_MAX_PATH],szTempfile[_MAX_PATH]; 
GetTempPath(_MAX_PATH, szTempPath); 
GetTempFileName(szTempPath,_T ("my_"),0,szTempfile); 
CFile m_tempFile(szTempfile,CFile:: modeCreate|CFile:: modeWrite); 
char m_char='a'; 
m_tempFile.Write(&m_char,2); 
m_tempFile.Close(); 
//循环写入多个值 
strTempA; 
int i; 
int nCount=6; 
//共有6个文件名需要保存 
for (i=0;i{strTemp.Format("%d",i); 
strTempA=文件名; 
//文件名可以从数组,列表框等处取得. 
::WritePrivateProfileString("UseFileName","FileName"+strTemp,strTempA, 
c://usefile//usefile.ini); 

strTemp.Format("%d",nCount); 
::WritePrivateProfileString("FileCount","Count",strTemp,"c://usefile//usefile.ini"); 
//将文件总数写入,以便读出. 
//读出 
nCount=::GetPrivateProfileInt("FileCount","Count",0,"c://usefile//usefile.ini"); 
for(i=0;i{strTemp.Format("%d",i); 
strTemp="FileName"+strTemp; 
::GetPrivateProfileString("CurrentIni",strTemp,"default.fil", strTempA.GetBuffer(MAX_PATH),MAX_PATH,"c://usefile//usefile.ini");
//使用strTempA中的内容. 
}  

10.读取文件属性 
dwAttrs   =   GetFileAttributes(%%1);  
if   (dwAttrs   &   FILE_ATTRIBUTE_READONLY)     {    
   %%2 
}      
if   (NORMAL & FILE_ATTRIBUTE_READONLY){    
   %%3 
}    

11.写入属性 
SetFileAttributes(szNewPath,dwAttrs | FILE_ATTRIBUTE_READONLY);    

12.枚举一个目录下所有文件夹 
CFileFind finder;  
BOOL bWorking = finder.FindFile(%%1+"//*.*");  
while (bWorking) {  
bWorking = finder.FindNextFile(); 
if(finder.IsDirectory()){ 
CString %%1=finder.GetFilePath(); 
%%2 

}  

13.复制文件夹 
WIN32_FIND_DATA FileData;  
HANDLE hSearch;  
DWORD dwAttrs;  
char szDirPath[] = %%2;  
char szNewPath[MAX_PATH];  
char szHome[MAX_PATH];  
BOOL fFinished = FALSE;  
if (!CreateDirectory(szDirPath, NULL)) { 
//不能创建新的目录  
   return; 

hSearch = FindFirstFile(%%1+"//*.*", &FileData);  
if (hSearch == INVALID_HANDLE_VALUE) {  
   return;  
}  
while (!fFinished) {  



   lstrcpy(szNewPath, szDirPath);  
   lstrcat(szNewPath, FileData.cFileName);  
   if (CopyFile(FileData.cFileName, szNewPath, FALSE)) {  
   dwAttrs = GetFileAttributes(FileData.cFileName);  
   if (!(dwAttrs & FILE_ATTRIBUTE_READONLY)) {  
   SetFileAttributes(szNewPath,  
   dwAttrs | FILE_ATTRIBUTE_READONLY);  
   }  
   }  
   else {  
   //不能复制文件 
   return;  
   }  
   if (!FindNextFile(hSearch, &FileData)) {  
   if (GetLastError() == ERROR_NO_MORE_FILES) {  
   //遍历文件夹完成  
   fFinished = TRUE;  
   }  
   else {  
   //找不到下一个文件 
   return;  
   }  
   }  
}  
FindClose(hSearch);  

14.复制一个目录下所有的文件夹到另一个文件夹下 
WIN32_FIND_DATA FileData;  
HANDLE hSearch;  
DWORD dwAttrs;  
char szDirPath[] = %%2;  
char szNewPath[MAX_PATH];  
char szHome[MAX_PATH];  
BOOL fFinished = FALSE;  
if (!CreateDirectory(szDirPath,NULL))  

//不能创建新的目录  
return; 

BOOL bWorking = finder.FindFile(%%1+"//*.*");  
while (bWorking)  
{  
bWorking = finder.FindNextFile(); 
if(finder.IsDirectory()){ 
hSearch = FindFirstFile(finder.GetFilePath()+"//*.*", &FileData);  
if (hSearch == INVALID_HANDLE_VALUE)  
{  
return;  
}  
while (!fFinished)  
{  
lstrcpy(szNewPath, szDirPath);  
lstrcat(szNewPath, FileData.cFileName);  
if (CopyFile(FileData.cFileName, szNewPath, FALSE))  
{  
dwAttrs = GetFileAttributes(FileData.cFileName);  
if (!(dwAttrs & FILE_ATTRIBUTE_READONLY))  
{  
SetFileAttributes(szNewPath,  
dwAttrs | FILE_ATTRIBUTE_READONLY);  
}  
}  
else  
{  
//不能复制文件 
return;  
}  
if (!FindNextFile(hSearch, &FileData))  
{  
if (GetLastError() == ERROR_NO_MORE_FILES)  
{  
//遍历文件夹完成  
fFinished = TRUE;  
}  
else  
{  
//找不到下一个文件 
return;  
}  
}  
}  
FindClose(hSearch); 

}  

15.移动文件夹 
WIN32_FIND_DATA FileData;  
HANDLE hSearch;  
DWORD dwAttrs;  
char szDirPath[] = %%2;  
char szNewPath[MAX_PATH];  
char szHome[MAX_PATH];  
BOOL fFinished = FALSE;  
if (!CreateDirectory(szDirPath, NULL))  

//不能创建新的目录  
return; 

hSearch = FindFirstFile(%%1+"//*.*", &FileData);  
if (hSearch == INVALID_HANDLE_VALUE)  
{  
return;  
}  
while (!fFinished)  
{  
lstrcpy(szNewPath, szDirPath);  
lstrcat(szNewPath, FileData.cFileName);  
if (CopyFile(FileData.cFileName, szNewPath, FALSE))  
{  
dwAttrs = GetFileAttributes(FileData.cFileName);  
if (!(dwAttrs & FILE_ATTRIBUTE_READONLY))  
{  
SetFileAttributes(szNewPath,  
dwAttrs | FILE_ATTRIBUTE_READONLY);  
}  
}  
else  
{  
//不能复制文件 
return;  
}  
if (!FindNextFile(hSearch, &FileData))  
{  
if (GetLastError() == ERROR_NO_MORE_FILES)  
{  
//遍历文件夹完成  
fFinished = TRUE;  
}  
else  
{  
//找不到下一个文件 
return;  
}  
}  
}  
FindClose(hSearch);  
RemoveDirectory(%%1);
16.移动一个文件夹下所有的文件夹到另一个目录下 
WIN32_FIND_DATA FileData;  
HANDLE hSearch;  
DWORD dwAttrs;  
char szDirPath[] = %%2;  
char szNewPath[MAX_PATH];  
char szHome[MAX_PATH];  
BOOL fFinished = FALSE;  
if (!CreateDirectory(szDirPath,NULL))  

//不能创建新的目录  
return; 

BOOL bWorking = finder.FindFile(%%1+"//*.*");  
while (bWorking)  
{  
bWorking = finder.FindNextFile(); 
if(finder.IsDirectory()){ 
hSearch = FindFirstFile(finder.GetFilePath()+"//*.*", &FileData);  
if (hSearch == INVALID_HANDLE_VALUE)  
{  
return;  
}  
while (!fFinished)  
{  
lstrcpy(szNewPath, szDirPath);  
lstrcat(szNewPath, FileData.cFileName);  
if (CopyFile(FileData.cFileName, szNewPath, FALSE))  
{  
dwAttrs = GetFileAttributes(FileData.cFileName);  
if (!(dwAttrs & FILE_ATTRIBUTE_READONLY))  
{  
SetFileAttributes(szNewPath,  
dwAttrs | FILE_ATTRIBUTE_READONLY);  
}  
}  
else  
{  
//不能复制文件 
return;  
}  
if (!FindNextFile(hSearch, &FileData))  
{  
if (GetLastError() == ERROR_NO_MORE_FILES)  
{  
//遍历文件夹完成  
fFinished = TRUE;  
}  
else  
{  
//找不到下一个文件 
return;  
}  
}  
}  
FindClose(hSearch); 
RemoveDirectory(finder.GetFilePath().GetBuffer(0)); 

}  

17.以一个文件夹的框架在另一个目录创建文件夹和空文件 
WIN32_FIND_DATA FileData;  
HANDLE hSearch;  
DWORD dwAttrs;  
char szDirPath[] = %%2;  
char szNewPath[MAX_PATH];  
char szHome[MAX_PATH];  
BOOL fFinished = FALSE;  
if (!CreateDirectory(szDirPath, NULL))  

//不能创建新的目录  
return; 

hSearch = FindFirstFile(%%1+"//*.*", &FileData);  
if (hSearch == INVALID_HANDLE_VALUE)  
{  
return;  
}  
while (!fFinished)  
{  
lstrcpy(szNewPath, szDirPath);  
lstrcat(szNewPath, FileData.cFileName);  
HANDLE hFile=CreateFileHandle hFile=CreateFile(szNewPath,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_SEQUENTIAL_SCAN,NULL);
if(!hFile) 

//不能创建文件 
return; 
}  
if (!FindNextFile(hSearch, &FileData)) 
{  
if (GetLastError() == ERROR_NO_MORE_FILES)  
{  
//遍历文件夹完成  
fFinished = TRUE;  
}  
else  
{  
//找不到下一个文件 
return; 
}  
}  
}  
FindClose(hSearch);  

18.复制文件 
CopyFile(%%1,%%2,true);
19.复制一个文件夹下所有的文件到另一个目录 
//#include <string> 
using std::string; 
char sep='/'; 
#ifdef _WIN32 
sep='//'; 
#endif 
CFileFind finder;  
BOOL bWorking = finder.FindFile(%%1+"//*.*");  
while (bWorking)  
{  
bWorking = finder.FindNextFile(); 
if(!finder.IsDirectory() || finder.IsDots()){ 
string s(finder.GetFileName()); 
CString sourcefile(%%1); 
if(s.rfind(sep,s.length())!=string::npos) 

sourcefile=sourcefile+"//"+s.substr(i+1,s.length()-i); 
CString targetfile(s.substr(i+1,s.length()-i)); 
targetfile=%%2+"//"+targetfile/; 
CopyFile(sourcefile.GetBuffer(0),targetfile.GetBuffer(0),true); 


}  

20.提取扩展名 
CString path(%%1); 
CString %%2=path.Mid(path.ReverseFind('.')); 

21.提取文件名 
CString path(%%1); 
CString %%2=path.Mid(path.ReverseFind('//')+1); 

22.提取文件路径 
char appName[MAX_PATH]; 
GetModualFileName(NULL,appName,MAX_PATH);
23.替换扩展名 
//#include <string> 
using std::string; 
string s(%%1); 
string newExt(%%2); 
string::size_type i=s.rfind('.',s.length()); 
if(i!=string::npos) 
s.replace(i+1,newExt.length(),newExt); 
CString %%3(s);  

24.追加路径 
/* 
#include <string> 
#include <cstdlib> 
#include <boost/filesystem/operations.hpp> 
#include <boost/filesystem/fstream.hpp> 
*/ 
using namespace std; 
using namespace boost::filesystem; 
try { 
path p1=complete(path(%%2,native), 
path(%%1,native)); 
path p2=system_complete(path(%%2,native)); 
CString %%3(p3); 

catch(exception& e){ 
//e.what(); 
}  

25.移动文件 
MoveFile(%%1,%%2);
26.移动一个文件夹下所有文件到另一个目录 
//#include <string> 
using std::string; 
char sep='/'; 
#ifdef _WIN32 
sep='//'; 
#endif 
CFileFind finder;  
BOOL bWorking = finder.FindFile(%%1+"//*.*");  
while (bWorking)  
{  
bWorking = finder.FindNextFile(); 
if(!finder.IsDirectory() || finder.IsDots()){ 
string s(finder.GetFileName()); 
CString sourcefile(%%1); 
if(s.rfind(sep,s.length())!=string::npos) 

sourcefile=sourcefile+"//"+s.substr(i+1,s.length()-i); 
CString targetfile(s.substr(i+1,s.length()-i)); 
targetfile=%%2+"//"+targetfile/; 
MoveFile(sourcefile.GetBuffer(0),targetfile.GetBuffer(0),true); 


}  

27.指定目录下搜索文件 
CString strFileTitle; 
CFileFind finder; 
BOOL bWorking = finder.FindFile ("C://windows//sysbkup//*.cab"); 
while(bWorking) 

bWorking=finder.FindNextFile(); 
strFileTitle=finder.GetFileTitle(); 
}
28.打开对话框 
CFileDialog mFileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT,"All Files (*.*)|*.*||",AfxGetMainWnd());
CString str(" ",10000); 
mFileDlg.m_ofn.lpstrFile=str.GetBuffer(10000); 
str.ReleaseBuffer(); 
POSITION mPos=mFileDlg.GetStartPosition(); 
CString pathName(" ",128); 
CFileStatus status; 
while(mPos!=NULL) 

pathName=mFileDlg.GetNextPathName(mPos); 
CFile::GetStatus( pathName, status ); 
}  

29.文件分割 
CFile m_File; 
CString m_Filename,m_FileTitle,m_FilePath; 
m_FileName=%%1; 
char pBuf[4096]; 
if(m_File.Open(m_FileName,CFile::modeRead | CFile::shareDenyWrite)) 

m_FileName=m_File.GetPathName(); 
m_FileTitle=m_File.GetFileTitle(); 
DWORD FileLength=m_File.GetLength(); 
DWORD PartLength=FileLength/2+FileLength%2; 
int nCount=1; 
CString strName; 
CFile wrFile; 
DWORD ReadBytes; 
while(true) 

ReadBytes=m_File.Read(pBuf,PartLength); 
strName.Format("%s%d",m_FIleTitle,nCount); 
wrFile.Open(strName,CFile::modeWrite | CFile::modeCreate); 
wrFile.Write(pBuf,ReadBytes); 
wrFile.Close(); 
if(ReadBytes<PartLength) 
break; 
nCount++; 

m_File.Close(); 

else 
AfxMessageBox("不能打开文件");
30.文件合并 
//#include <string> 
using std::string; 
string s(%%1); 
char sep='/'; 
#ifdef _WIN32 
sep='//'; 
#endif 
size_t sz=s.rfind(sep,s.length()); 
if(sz!=string::npos) 

CFile Out; 
CString strFilename(s.substr(i+1,s.length()-i)); 
if(Out.Open(%%2+"//"+strfilename,cfile::modewrite%7ccfile::modecreate)){ 
for(int i=1;i<=2;i++) 

String Filename=%%%2+"//"+strfilename+atoi(i); 
CFile In; 
if(In.Open(Filename,CFile::modeRead)){ 
char cbBuffer[4096]; 
int nFilesize=In.GetLength(); 
while(nFilesize>0){ 
int nSize=sizeof(cbBuffer); 
if(nSize>nFilesize) 
nSize=nFilesize; 
try{ 
In.Read(cbBuffer,nSize); 

catch(CFileException *e){ 
char *lpMsgBuf; 
if(FormatMessage( 
FORMAT_MESSAGE_ALLOCATE_BUFFER | 
FORMAT_MESSAGE_FROM_SYSTEM, 
NULL,e->m_lOsError, 
MAKELANGID(LANG_NEUTRAL, 
SUBLANG_DEFAULT), 
(LPSTR)&lpMsgBuf,0,NULL)>0){ 
AfxMessageBox(lpMsgBuf); 
LocalFree(lpMsgBuf); 

e->Delete(); 
return; 

try{ 
Out.Write(cbBuffer,nSize); 

catch(CFileException *e){ 
char *lpMsgBuf; 
if(FormatMessage( 
FORMAT_MESSAGE_ALLOCATE_BUFFER | 
FORMAT_MESSAGE_FROM_SYSTEM, 
NULL,e->m_lOsError, 
MAKELANGID(LANG_NEUTRAL, 
SUBLANG_DEFAULT), 
(LPSTR)&lpMsgBuf,0,NULL)>0){ 
AfxMessageBox(lpMsgBuf); 
LocalFree(lpMsgBuf); 

e->Delete(); 
return; 

nFilesize=nSize; 


else 
AfxMessageBox("不能打开"+Filename); 


else 
AfxMessageBox("不能创建输出文件"); 
}
31.文件简单加密 
//#include <string> 
using std::string; 
string s(%%1); 
char sep='/'; 
#ifdef _WIN32 
sep='//'; 
#endif 
size_t sz=s.rfind(sep,s.length()); 
if(sz!=string::npos) 

CFile Out,In; 
int nFIlesize; 
char *lpMsgBuf; 
CString strFilename(s.substr(i+1,s.length()-i)); 
if(!in.Open(%%1,CFile::modeRead)){ 
//不能打开输入文件 
return; 

if(!Out.Open(%%2+"//enc_%22+strfilename,cfile::modewrite/ | CFile::modeCreate)){ 
//不能打开输出文件 
return; 

nFilesize=In.GetLength(); 
lpBuffer=new char[nFilesize]; 
if(lpBuffer==NULL){ 
//不能分配复制缓存 
return; 

CFileStatus rStatus; 
In.GetStatus(%%1,rStatus); 
try{ 
In.Read(cbBuffer,nFilesize); 

catch(CFileException *e){ 
char *lpMsgBuf; 
if(FormatMessage( 
FORMAT_MESSAGE_ALLOCATE_BUFFER | 
FORMAT_MESSAGE_FROM_SYSTEM, 
NULL,e->m_lOsError, 
MAKELANGID(LANG_NEUTRAL, 
SUBLANG_DEFAULT), 
(LPSTR)&lpMsgBuf,0,NULL)>0){ 
AfxMessageBox(lpMsgBuf); 
LocalFree(lpMsgBuf); 

e->Delete(); 
return; 

for(int i=0;i<nFilesize;i++) 

int ibt=lpBuffer[i]; 
ibt+=100; 
ibt%=256; 
bpBuffer[i]=(char)ibt; 

try{ 
Out.Write(cbBuffer,nFilesize); 

catch(CFileException *e){ 
char *lpMsgBuf; 
if(FormatMessage( 
FORMAT_MESSAGE_ALLOCATE_BUFFER | 
FORMAT_MESSAGE_FROM_SYSTEM, 
NULL,e->m_lOsError, 
MAKELANGID(LANG_NEUTRAL, 
SUBLANG_DEFAULT), 
(LPSTR)&lpMsgBuf,0,NULL)>0){ 
AfxMessageBox(lpMsgBuf); 
LocalFree(lpMsgBuf); 

e->Delete(); 
return; 

Out.Close(); 
//In.Close(); 
CFile::SetStatus(%%2+"//enc_%22+strfilename,rstatus); 
 delete[] lpBuffer; 
}
32.文件简单解密 
//#include <string> 
using std::string; 
string s(%%1); 
char sep='/'; 
#ifdef _WIN32 
sep='//'; 
#endif 
size_t sz=s.rfind(sep,s.length()); 
if(sz!=string::npos) 

CFile Out,In; 
int nFIlesize; 
char *lpMsgBuf; 
CString strFilename(s.substr(i+1,s.length()-i)); 
if(!in.Open(%%2+"//enc_%22+strfilename,cfile::moderead)){ 
//不能打开输入文件 
return; 

if(!Out.Open(%%1,CFile::modeWrite | CFile::modeCreate)){ 
//不能打开输出文件 
return; 

nFilesize=In.GetLength(); 
lpBuffer=new char[nFilesize]; 
if(lpBuffer==NULL){ 
//不能分配复制缓存 
return; 

CFileStatus rStatus; 
In.GetStatus(%%2+"//enc_%22+strfilename,rstatus); 
 try{ 
In.Read(cbBuffer,nFilesize); 

catch(CFileException *e){ 
char *lpMsgBuf; 
if(FormatMessage( 
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL,e->m_lOsError, 
MAKELANGID(LANG_NEUTRAL, 
SUBLANG_DEFAULT), 
(LPSTR)&lpMsgBuf,0,NULL)>0){ 
AfxMessageBox(lpMsgBuf); 
LocalFree(lpMsgBuf); 

e->Delete(); 
return; 

for(int i=0;i<nFilesize;i++) 

int ibt=lpBuffer[i]; 
ibt-=100;ibt+=256; 
ibt%=256; 
bpBuffer[i]=(char)ibt; 

try{ 
Out.Write(cbBuffer,nFilesize); 

catch(CFileException *e){ 
char *lpMsgBuf; 
if(FormatMessage( 
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL,e->m_lOsError, 
MAKELANGID(LANG_NEUTRAL, 
SUBLANG_DEFAULT), 
(LPSTR)&lpMsgBuf,0,NULL)>0){ 
AfxMessageBox(lpMsgBuf); 
LocalFree(lpMsgBuf); 

e->Delete(); 
return; 

Out.Close(); 
//In.Close(); 
CFile::SetStatus(%%1,rStatus); 
delete[] lpBuffer; 
}
33.读取ini文件属性 
CStdioFile inifile(%%1,CFile::modeRead); 
CString path = inifile.GetFilePath(); 
inifile.Close(); 
char key[1024]; 
DWORD bytes = GetPrivateProfileString(%%2,%%3,%%4,key,1024,path); 
if(bytes < 1024) 
key[bytes] = '/0'; 
CString %%5(key);  

34.合并一个文件下所有的文件 
CString Directory=%%1+"*.*"; 
CFileFind FFile; 
CFile Out; 
if(Out.Open(%%2,CFile::modeWrite|CFile::modeCreate)){ 
BOOL bFound=FFile.FindFile(Directory); 
while(bFound) 

bFound=FFile.FileNextFile(); 
if(!FFile.IsDirectory() && !FFile.IsDots()) 

CString Filename=FFile.GetFileName(); 
CFile In; 
if(In.Open(Filename,CFile::modeRead)){ 
char cbBuffer[4096]; 
int nFIlesize=In.GetLength(); 
while(nFIlesize>0){ 

int nSize=sizeof(cbBuffer); 
if(nSize>nFilesize) 
nSize=nFilesize; 
try { 
In.Read(cbBuffer,nSize); 

catch(CFileException *e){ 
char *lpMsgBuf; 
if(FormatMessage( 
FORMAT_MESSAGE_ALLOCATE_BUFFER | 
FORMAT_MESSAGE_FROM_SYSTEM, 
NULL,e->m_lOsError, 
MAKELANGID(LANG_NEUTRAL, 
SUBLANG_DEFAULT), 
(LPSTR)&lpMsgBuf,0,NULL)>0){ 
AfxMessageBox(lpMsgBuf); 
LocalFree(lpMsgBuf); 

e->Delete(); 
return; 

try { 
Out.Write(cbBuffer,nSize); 

catch(CFileException *e){ 
char *lpMsgBuf; 
if(FormatMessage( 
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL,e->m_lOsError, 
MAKELANGID(LANG_NEUTRAL, 
SUBLANG_DEFAULT), 
(LPSTR)&lpMsgBuf,0,NULL)>0){ 
AfxMessageBox(lpMsgBuf); 
LocalFree(lpMsgBuf); 

e->Delete(); 
return; 

nFilesize=nSize; 


else 
AfxMessageBox("不能打开"+Filename); 



else 
AfxMessageBox("不能创建输出文件");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值