vc中的文件操作

本文介绍了使用Visual C++进行文件操作的各种方法,包括查找、读写文件、使用临时文件及复制删除文件等实用技巧,并提供了具体示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

?︹?? File Operations in VC
1:Find the file

CString strFileName;
CFileFind finder;
BOOL bWorking=finder.FindFile(”c:/windows/*.cab”);
if(bWorking)
{
bWorking=finder.FindNextFile();
strFileName=finder.GetFileName();//or finder.GetFileTitle();
}


2:Open or Save file

CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT,”All Files(*.*)|*.*||”

,AfxGetMainWnd());

3:Read and Write File

//Read File
char cRead[10];

CFile mFile(_T(”test.txt”),CFile::modeRead);
if(mFile.GetLength()<2)
return ;
mFile.Read(cRead,10);
mFile.Close();
//Write File:

CFile mFile(_T(”test.txt”),CFile::modeWrite|CFile:modeCreate);
mFile.Write(cRead,10);
mFile.Flush();
mFile.Close();


More Powerful Class: CArchive
//Write
CString strTemp;
CFile mFile;
mFile.Open(”c:/test.txt”,CFile::modeWrite|CFile::modeNoTruncate|CFile::modeCreate);
CArchive ar(&mFile,CArchive::store);
ar<<strTemp;
ar.Close();
mFile.Close();

//Read
CFile mFile;
if(mFile.Open(”c:/test.txt”,CFile::modeRead)==0)
return;
CArchive ar(&mFile,CArchive::load);
ar>>strTemp;
ar.Close();
mFile.Close();

using CArchive, you can also to WriteObject,ReadObject,WriterClass,ReadClass


if you only to read or write a simple line string, use CStdioFile

CStdioFile mFile;
CFileException mExcept;
mFile.Open(”c:/test.txt”,CFile::modeWrite,&mExcept);
CString str=”hello world”;
mFile.WriteString(string);
mFile.Close();

4:Using temp file

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();

5:Copy or remove file:
For in the MFC there is no methods or classes,so use SDK functions: CopyFile(),DeleteFile(),CreateDirectory(),MoveFile()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值