• CFile类的open方法中的参数说明


    CFile::Open是在MFC里面,打开一个文件的方法。

    Open函数的原型如下:

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

    如果你想读一个文件,就用CFile::modeRead作为第二个参数,同时CFile::modeCreate代表创建一个文件。

    参数二:nOpenFlags可组合为以下值:

    CFile::modeCreate 创建一个新的文件,如果文件存在将文件截取成长度为0。 ·

    CFile::modeNoTruncate 此标志总是与modeCreate 配合使用,如果文件存在,不将文件截取成长度为0;如果文件不存在即创建新文件。这个功能往往很好用,比如说,当你需要打开一个设置文件,但是你并不清楚这个文件是否已经存在。

    CFile::modeRead 只读方式打开。

    CFile::modeReadWrite 读写方式打开。

    CFile::modeWrite 只写方式打开。

    CFile::modeNoInherit 阻止这个文件被子进程继承。

    CFile::shareDenyNone 打开这个文件同时允许其它进程读写这个文件。如果文件被其它进程以兼容的模式打开,这时create操作会失败。

    CFile::shareDenyRead 打开文件拒绝其它任何进程读这个文件。如果文件被其它进程用compatibility模式或者是读方式打开,create操作失败。

    CFile::shareDenyWrite 打开文件拒绝其它任何进程写这个文件。如果文件被其它进程用compatibility模式或者是写方式打开,create操作失败。

    CFile::shareExclusive 以独占方式打开这个文件,不允许其它进程读写这个文件。如果文件已经在其它程序或当前程序以其他方式打开来进行读写,将返回失败。 

    CFile::shareCompat 这个标志在32位的MFC中无效。

    CFile::typeText 设置成对回车换行对有特殊处理的文本模式(仅用在派生类中)。

    CFile::typeBinary 设置二进制模式(仅用在派生类中) 。

    示例:

    //VC++:
    TCHAR* pszFileName = _T("c:\test\myfile.dat");
    CFile myFile;
    CFileException fileException;
    if ( !myFile.Open( pszFileName, CFile::modeCreate | CFile::modeReadWrite, &fileException ) )
    {
    TRACE( _T("Can't open file %s, error = %u
    "),
    pszFileName, fileException.m_cause );
    }

    在MFC里面,打开一个文件最常用的方法分为以下两步:

    1.创建一个用于打开文件的对象,通常都是声明一个CFile或者一个CFile派生类的对象

    2.调用该CFile对象的Open方法,并提供一个文件路径和打开方式作为Open方法的参数

  • 相关阅读:
    字符串匹配算法
    C#中窗体的位置和大小
    关于C#值类型,引用类型,值传递,引用传递(转载)
    ArcMap中设置.mxd相对路径
    统计学上的知识
    .NET 数学实现资料(ZZ)
    牛腩新闻系统学习笔记06讲 编写SQLHelper
    DropDownList 控件不能触发SelectedIndexChanged 事件的另一个原因
    牛腩新闻视频 03讲 数据库设计的心得 如何建立外键sql2008的数据库关系图功能
    使用sql server management studio 2008 连接数据库,无法查看数据库,提示 无法为该请求检索数据 错误916
  • 原文地址:https://www.cnblogs.com/pengjun-shanghai/p/4969016.html
Copyright © 2020-2023  润新知