飞鸽传书 CFile 大量地对文件进行操作
2014-05-19 10:39
369 查看
飞鸽传书 需要大量地对文件进行操作,这个过程必须用到的MFC类CFile,下面详细说明这个类的使用方法:
CFile提供了一些常用的操作函数,如表1-2所示。
注意最后两个静态函数,其实它们封装了Windows API中关于文件管理的函数。
使用CFile操作文件的流程如下:
构造一个CFile对象。
调用CFile::Open()函数创建、打开指定的文件。
调用CFile::Read()和CFile::Write ()进行文件操作。
调用CFile::Close()关闭文件句柄。
文件指针的位置设置可以使用:
Seek( LONG lOff, UINT
nFrom ) 把文件指针移动到指定位置
lOff :是指针偏移字节数,若向后偏移则为正数,若向前偏移,则为负数。
nFrom :MSDN上有三种取值:
CFile::begin 从文件开头开始算起,lOff为正数;
CFile::current 当前位置开始算起;
CFile::end 从文件结尾开始算起,lOff为负数;
SeekToBegin( ) 把文件指针移到文件开头
SeekToEnd( ) 把文件指针移到文件末尾
GetPosition( ) 返回当前文件指针的位置
获取文件的字节数可用 GetLength( ) 此函数的返回值为DWORD,但可直接用来分配数组元素数目,例如:
DOWRD len=file.GetLength();
char *pBuf=new char[len+1] / int *pBuf=new int[len/4]
char占一个字节,int占四个字节。
写入文件:
CFile file;
file.Open("E:\\VC\\1.txt",CFile::modeCreate|CFile::modeWrite|CFile::modeNoTruncate,NULL);
file.Write("HelloWorld",strlen("HelloWorld"));
//Write( const void* lpBuf, UINT
nCount ) lpBuf是写入数据的Buf指针,nCount是Buf里需要写入文件的字节数
file.close( );
读取文件:
CFile file;
file.Open("E:\\VC\\1.txt",CFile::modeRead,NULL);
DWORD len=file.GetLength( );
char Buf[len+1];
Buf[len]=0; //0终止字符串,用于输出。
file.Read(Buf,len); //Read( void* lpBuf, UINT
nCount ) lpBuf是用于接收读取到的数据的Buf指针nCount是从文件读取的字节数
MessageBox(Buf);
来源:飞鸽传书 CFile 大量地对文件进行操作
CFile提供了一些常用的操作函数,如表1-2所示。
表1-2 CFile操作函数 | |
函数 | 含义 |
Open | 打开文件 |
Close | 关闭文件 |
Flush | 刷新待写的数据 |
Read | 从当前位置读取数据 |
Write | 向当前位置写入数据 |
GetLength | 获取文件的大小 |
Seek | 定位文件指针至指定位置 |
SeekToBegin | 定位文件指针至文件头 |
SeekToEnd | 定位文件指针至文件尾 |
GetFileName | 获取文件名,如:“NOTEPAD.EXE” |
GetFilePath | 获取文件路径,如:“C:\WINDOWS \NOTEPAD.EXE” |
GetFileTitle | 获取文件标题,如:“NOTEPAD” |
GetPosition | 获取当前文件指针 |
GetStatus | 获取当前文件的状态,返回一个CFileStatus |
#Remove | 静态方法,删除指定文件 |
#Rename | 静态方法,重命名指定文件 |
使用CFile操作文件的流程如下:
构造一个CFile对象。
调用CFile::Open()函数创建、打开指定的文件。
调用CFile::Read()和CFile::Write ()进行文件操作。
调用CFile::Close()关闭文件句柄。
文件指针的位置设置可以使用:
Seek( LONG lOff, UINT
nFrom ) 把文件指针移动到指定位置
lOff :是指针偏移字节数,若向后偏移则为正数,若向前偏移,则为负数。
nFrom :MSDN上有三种取值:
CFile::begin 从文件开头开始算起,lOff为正数;
CFile::current 当前位置开始算起;
CFile::end 从文件结尾开始算起,lOff为负数;
SeekToBegin( ) 把文件指针移到文件开头
SeekToEnd( ) 把文件指针移到文件末尾
GetPosition( ) 返回当前文件指针的位置
获取文件的字节数可用 GetLength( ) 此函数的返回值为DWORD,但可直接用来分配数组元素数目,例如:
DOWRD len=file.GetLength();
char *pBuf=new char[len+1] / int *pBuf=new int[len/4]
char占一个字节,int占四个字节。
写入文件:
CFile file;
file.Open("E:\\VC\\1.txt",CFile::modeCreate|CFile::modeWrite|CFile::modeNoTruncate,NULL);
file.Write("HelloWorld",strlen("HelloWorld"));
//Write( const void* lpBuf, UINT
nCount ) lpBuf是写入数据的Buf指针,nCount是Buf里需要写入文件的字节数
file.close( );
读取文件:
CFile file;
file.Open("E:\\VC\\1.txt",CFile::modeRead,NULL);
DWORD len=file.GetLength( );
char Buf[len+1];
Buf[len]=0; //0终止字符串,用于输出。
file.Read(Buf,len); //Read( void* lpBuf, UINT
nCount ) lpBuf是用于接收读取到的数据的Buf指针nCount是从文件读取的字节数
MessageBox(Buf);
来源:飞鸽传书 CFile 大量地对文件进行操作
相关文章推荐
- 同时对多个文件进行大量写操作对性能优化
- 同时对多个文件进行大量写操作对性能优化
- 同时对多个文件进行大量写操作对性能优化
- 使用CFile,CArchive,CStdioFile,fstream进行文件操作
- CFileDialog 、CFile 如何进行文件操作 [转]
- ASP.NET技巧:同时对多个文件进行大量写操作对性能优化
- ASP.NET技巧:同时对多个文件进行大量写操作对性能优化
- 使用yacc对文件进行操作
- 发布WebFtp 控件(ASP.NET控件,用以web方式进行文件上下传操作)
- windows提供的对于文件进行操作的API函数及其功能(转载)
- 柳暗花明又一村 - C#中对文件进行的操作
- 安装sqlserver"以前进行的程序安装创建了挂起的文件操作"的解决办法
- 批处理应用:根据文件内容进行重命名操作
- 对服务器端文件进行写操作
- 如何进行文件操作
- vbscript脚本编程教程2利用fso来进行文件操作
- 使用FSO按文件大小浏览文件目录并进行删除操作
- 对项目配置文件app.comfig进行读写操作
- 装sql server sp4时,出现以前进行的程序安装创建了挂起的文件操作.运行程序之前,必须重新起动计算机
- 通过Java直接对Excel文件进行操作