原文网址:http://blog.sina.com.cn/s/blog_623a7fa40100hh1u.html

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

静态方法,重命名指定文件

注意最后两个静态函数,其实它们封装了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);

【转】MFC中用CFile读取和写入文件2的更多相关文章

  1. 读取和写入 文件 (NSFIleManger 与 NSFileHandle)

    读取和写入 文件 //传递文件路径方法 -(id)initPath:(NSString *)srcPath targetPath:(NSString *)targetPath { self = [su ...

  2. File类的特点?如何创建File类对象?Java中如何操作文件内容,什么是Io流Io流如何读取和写入文件?字节缓冲流使用原则?

    重难点提示 学习目标 1.能够了解File类的特点(存在的意义,构造方法,常见方法) 2.能够了解什么是IO流以及分类(IO流的概述以及分类) 3.能够掌握字节输出流的使用(继承体系结构介绍以及常见的 ...

  3. 在线程中进行读取并写入文件和wenjia

    新人求(胸)罩!!! import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException ...

  4. C# Byte[]数组读取和写入文件

    这个项目我用的是asp.net构建的,代码如下 protected void ByteToString_Click(object sender, EventArgs e) { string conte ...

  5. Redis 中文入库成功,读取数据写入文件乱码问题

    近期须要用到redis ,可是在编码这个问题上,纠结了非常久.        需求 :每天一个进程将中文文件入库到redis中(不定时更新) ,另外几个进程读取redis中的信息 ,并处理数据结果.使 ...

  6. C#读取和写入文件

    一.读取文件 如果你要读取的文件内容不是很多, 可以使用 File.ReadAllText(FilePath) 或指定编码方式 File.ReadAllText(FilePath, Encoding) ...

  7. c#通过FileStream读取、写入文件

    网上找过一些FileStream读取写入文件的代码,但是都有些小问题. 于是自己整理一下,以备不时之需.说明一下,以下代码我都运行过. 1.FileStream读取文件 // FileStream读取 ...

  8. php中读取以及写入文件的方法总结

    ==>读取文件内容(方法一) $fileData = fread($fileStream,filesize($filePath)); 注意: 文本文件读取到网页上显示时,由于换行符不被解释,文本 ...

  9. Python读取和写入文件

    1 从文件中读取数据 1.1 读取整个文件 创建名为test的txt文本文件,添加内容如下所示: 123456789023456789013456789012 实现代码: with open('tes ...

随机推荐

  1. 解决rtl8723be无线网卡驱动频繁断网问题

    买了新本子,用的是rtl8723be无线网卡,连WIFI时总是断网.Windows下好解决,Ubuntu下可就麻烦了,又是升级内核又是编译驱动的,折腾了一天,终于找到了解决办法: # echo &qu ...

  2. js 框架都有哪几种(转载)

    目前来看,js框架以及一些开发包和库类有如下几个,Dojo .Scriptaculous .Prototype .yui-ext .Jquery .Mochikit.mootools .moo.fxD ...

  3. 如何使用 require.js ,实现js文件的异步加载,避免网页失去响应,管理模块之间的依赖性,便于代码的编写和维护。

    一.为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了.后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载.下面的网页代 ...

  4. Sql Server 判断表或数据库是否存在

    发布:thebaby   来源:脚本学堂     [大 中 小] 本文详细介绍了,在sql server中判断数据库或表是否存在的方法,有理论有实例,有需要的朋友可以参考下,一定有帮助的.原文地址:h ...

  5. R语言语法笔记

    ## 1. 数据输入 ## a$b # 数据框中的变量 a = 15 # 赋值 a <- 15 # 赋值 a = c(1,2,3,4,5) # 数组(向量) b = a[1] # 数组下标,从1 ...

  6. [转]LoadRunner脚本录制常见问题整理

    LoadRunner脚本录制常见问题整理 1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面 ...

  7. Python设计模式——外观模式

    外观模式跟代理模式有点像,都是在client和目标的类之间建一个中间的类,client不直接调用目标的类,而是通过先调用中间类的方法,由中间类来实现怎么调用目标类. 代理模式用这种模式的目的是可以实现 ...

  8. bootstrap .col-md-6 文字居中问题处理

  9. VM启动报错:Failed to lock the file

    http://www.cnblogs.com/kristain/articles/2491966.html Reason: Failed to lock the fileGoogle 了一下, 在網路 ...

  10. MVC-Html.ActionLink的几种写法

    Html.ActionLink("linkText","actionName") Html.ActionLink("linkText",&q ...