MFC文件读写操作

1、相关类

  CFile类 -封装了文件句柄以及操作文件的API函数

  CFileFind类 -封装了文件搜索功能

2、CFile类的使用

  2.1文件读写

    1)创建或者打开文件

      CFile::Open

      virtual BOOL Open( LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError = NULL );

        lpszFileName:指定文件的名称;

        nOpenFlags:指定文件共享和访问的方式,包括:

          CFile::modeCreate  --创建新文件,如果该文件已存在,则将它的长度截断为0;

          CFile::modeNoTruncate  --与CFile::modeCreate合用,如果要创建的文件已存在,它的长度不会被截断;

          CFile::modeRead  --打开文件,仅用于读操作;

          CFile::modeReadWrite  --打开文件,可读可写;

          CFile::modeWrite  --打开文件,仅用于写操作;

          CFile::modeNoInherit  --禁止子进程继承该文件;

          CFile::shareDenyNone  --打开文件,同时并不拒绝其他进程对该文件的读取和写入访问;如果该文件已经被其他进程以兼容模式打开,则函数调用失败;

          CFile::shareDenyRead  --打开文件,并拒绝其他进程对该文件的读取访问;

          CFile::shareDenyWrite  --打开文件,并拒绝其他进程对该文件的写入访问;

          CFile::shareExclusive  --以独占模式打开,拒绝其他进程对该文件的读取和写入访问;

          CFile::typeText  --设置文本模式,带有一对回车换行字符;

          CFile::typeBinary  --设置二进制模式;

    2)文件读写

      CFile::Read

      virtual UINT Read( void* lpBuf, UINT nCount );

        lpBuf:指向用来接收从文件中读取的数据的缓冲区的指针;

        nCount:要从文件中读取的最大字节数;

      CFile::Write

      virtual void Write( const void* lpBuf, UINT nCount );

        lpBuf:指向将要被写入文件的数据;

        nCount:将要写入的数据的字节数;

      CFile::Flush --刷新缓冲区中的数据并将其写入磁盘文件中

      virtual void Flush();

    3)关闭文件

      CFile::Close

      virtual void Close();

  2.2文件长度的获取和设置

    CFile::GetLength

    CFile::SetLength

  2.3文件的指针

    CFile::GetPosition  --获得当前文件指针的位置

    virtual DWORD GetPosition( ) const;

    CFile::Seek

    virtual LONG Seek( LONG lOff, UINT nFrom );

      lOff:将移动文件指针多少个字节数;

      nFrom:移动文件指针的起始位置,包括:

        CFile::begin

        CFile::current

        CFile::end

    CFile::SeekToBegin

    CFile::SeekToEnd

  2.4文件相关属性的读取和设置

    1)CFile::GetStatus

    2)CFile::SetStatus

    3)CFile::GetFileName

    4)CFile::GetFileTitle

    5)CFile::GetFilePath

    6)CFile::SetFilePath

    7)CFile::Rename

    8)CFile::Remove

  注意:1、文件读写需要异常处理

   2、注意文件的指针位置

  

  例:  

CFile file;
file.Open("1.txt", CFile::modeCreate | CFile::modeWrite);
file.Write("hello world!", strlen("hello world!"));
file.Close();
  
CFile file;
file.Open("1.txt", CFile::modeRead);
char *pBuf;
DWORD dwFileLen;
dwFileLen = file.GetLength();
pBuf = new char[dwFileLen + 1];
pBuf[dwFileLen] = 0;
file.Read(pBuf, dwFileLen);
file.Close();
MessageBox(pBuf);

3、CFileFind类的使用

  3.1开始查找(指定查找的目录)

    CFileFind::FindFile

  3.2查找下一个(获取当前文件信息,返回下一个文件是否存在)

    CFileFind::FindNextFile

  3.3获取/判断文件信息

    CFileFind::GetXXX/IsXXX

  3.4结束查找

    CFileFind::Close

  例子:1-查找C:根目录下的文件和文件夹

   2-查找整个C:盘下的文件和文件夹

  

时间: 2024-10-07 06:32:23

MFC文件读写操作的相关文章

MFC文件读写

MFC文件读写 分类: c++2009-09-24 23:30 12400人阅读 评论(4) 收藏 举报 mfcdllinifile存储windows 目录(?)[-] 为什么要在程序中使用文件 文件类型 第一部分文本文件 文本文件的读写 客户操作记录实例功能预览及关键知识点 文本文件存储管理 正确的文本文件读写过程 定义文件变量 打开指定文件 实例1以只读方式打开一个文件 向从文本文件中写入信息 实例2向文件中写入文本 从文本文件中读取信息 实例3从文件中读取文本信息 关闭文件 错误的文本文件

java文件读写操作类

借鉴了项目以前的文件写入功能,实现了对文件读写操作的封装 仅仅需要在读写方法传入路径即可(可以是绝对或相对路径) 以后使用时,可以在此基础上改进,比如: 写操作: 1,对java GUI中文本框中的内容进行捕获,放在txt文本文档中 2,对各种类型数据都以字符串的形式逐行写入 3,对全局数组的内容进行写入 读操作: 获取文件行数 对逐行字符串型数据进行类型转换,放入二维数组中 为后面算法处理提供入口,但是要小心的是:不可以将行数用全局变量做计数器,否则每次读入是全局变量累加出错,应重新开始读取

php学习基础-文件系统(二) 文件读写操作、文件资源处理

一.文件的打开与关闭 /* *读取文件中的内容 * file_get_contents(); //php5以上 * file() * readfile(); * * 不足:全部读取, 不能读取部分,也不能指定的区域 * * fopen() * fread() * fgetc() * fgets() * * * * * 写入文件 * file_put_contents("URL", "内容字符串"); //php5以上 * 如果文件不存在,则创建,并写入内容 * 如果

Python常用的文件读写操作和字符串操作

文件读写操作 fileUtils.py # -*- coding: utf-8 -*- import os def getFileList(dir, fileList=[]):     """     遍历一个目录,输出所有文件名     param dir: 待遍历的文件夹     param filrList : 保存文件名的列表     return fileList: 文件名列表     """     newDir = dir     

Android数据存储——文件读写操作(File)

Android文件读写操作 一.文件的基本操作 Android中可以在设备本身的存储设备或外接的存储设备中创建用于保存数据的文件.在默认状态下,文件是不能在不同程序间共享的. 当用户卸载您的应用程序时,这些文件删除. 文件存储数据可以通过openFileOutput方法打开一个文件(如果这个)文件不存在就自动创建这个文件),通过load方法来获取文件中的 数据,通过deleteFile方法删除一个指定的文件. 1,常用方法介绍: File是通过FileInputStream和FileOutput

python进阶--文件读写操作

Python读写文件 1. open 使用open打开文件后一定要记得调用 文件对象的close()方法.比如可以用try --finally语句来确保最后能关闭文件. >>>f1 = open('thisfile.txt') >>>try: f1.read() finally: f1.close() 2. 读文件(read,readline,readlines) ①读文本文件 input = open('data','r') input.read() ②读二进制文件

C文件读写操作

C语言的文件 一.文件基本操作:        在c语言中,对数据文件的操作都是依靠文件类型指针来完成. 1.文件类型指针的定义方式:FILE *文件类型变量 2.调用fopen函数打开文件的方法: 文件类型指针变量=fopen(文件名,使用文件打开方式): 文件打开方式(12种) 文件打开方式 意义 rt 只读打开一个文本文件,只允许读数据 wt 只写打开或建立一个文本文件,只允许写数据 at 追加打开一个文本文件,并在文件末尾写数据 rb 只读打开一个二进制文件,只允许读数据 wb 只写打开

C语言文件读写操作,从文件读取数据

很早写的在linux系统下的文件读写操作,从文件中读取数据 #include <stdio.h> int ReadInfoFromFile(const char *strFile) { FILE *fp; char ch; fp = fopen(strFile, "r"); // 只读的方式打开文件 if(fp==NULL) { perror("fopen"); // 打开文件失败 打印错误信息 return -1; } ch = fgetc(fp);

【python学习笔记】pthon3.x中的文件读写操作

在学习python文件读写的时候,因为教程是针对python2的,而使用的是python3.想要利用file类时,类库里找不到,重装了python2还是使不了.在别人园子认真拜读了<详解python2和python3区别>(已收藏)之后,才发现python3已经去掉file类. 现在利用python进行文件读写的方法更加类似于C语言的文件读写操作. 如今总结如下: 一 打开文件—— f = open('poem.txt','x+'): 读过open的帮助文档,然后自己翻译了一下,现给大家分享一