判断CStdioFile的类成员有没有打开

  • 说明
  • 最后

说明

使用CStdioFile处理文件的时候,有时候遇到一个CStdioFile类,不知道该类有没有打开文件,此时贸然使用Open试图打开文件时就会程序异常中断,而且CStdioFile是没有标志位判断其是否打开的,就非常坑。解决思路就是再CStdioFile基础上写一个派生类,改写一下Open和Close函数,为其增加一个判断的标志位即可。

class CMyFile :public CStdioFile
{public:CMyFile();virtual ~CMyFile();virtual BOOL Open(LPCTSTR lpszFileName,UNIT nOpenFlags,CFileException *pError==NULL);virtual void Close();BOOL IsOpen();
private:BOOL m_isOpen;
};
CMyFile::CMyFile()
{m_isOpen=FALSE;
}
CMyFile::~CMyFile()
{}BOOL CMyFile::Open(LPCTSTR lpszFileName,UNIT nOpenFlags,CFileException *pError)
{if(CStdioFile::Open(lpszFileName,OpenFlags,pError)){m_isOpen=TRUE;return TRUE;}return FALSE;
}
void CMyFile::Close()
{if(CStdioFile::Close()){m_isOpen=FALSE;}
}
BOOL CMyFile::IsOpen()
{return m_isOpen;
}

最后

上面的程序是可能会有纯手打的,可能存在问题,思路应该没问题。这样就可以正确根据IsOpen的返回值判断文件是否打开了。

判断CStdioFile的类成员有没有打开相关推荐

  1. Kotlin入门(13)类成员的众生相

    上一篇文章介绍了类的简单定义及其构造方式,当时为了方便观察演示结果,在示例代码的构造函数中直接调用toast提示方法,但实际开发是不能这么干的.合理的做法是外部访问类的成员属性或者成员方法,从而获得处 ...

  2. 详解函数指针和类成员函数指针

    作者:倾夜·陨灭星尘 一.什么是函数指针? 函数指针,顾名思义即指向函数的指针. 如果要问,为什么能用一个指针指向一个函数呢?我觉得要理解这个问题,以及要理解后面的函数指针和类成员函数指针,没有什么比 ...

  3. C#基础-类成员(Day7)

    C#基础已经学了七天了,随着知识点的深化,脑子里开始混乱了,总觉得好像会但实际又不会,我想这也许就是人的大脑记忆的缺陷,今天学着用画知识体系结构的方法来巩固这七天来所学的知识,发现还是挺有用的,继续坚 ...

  4. Python面向对象进阶及类成员

    再次了解多继承 先来一段代码 #!/usr/bin/env python # _*_ coding:utf-8 _*_ class A:    def bar(self):        print( ...

  5. ### C++总结-[类成员函数]

    C++类中的常见函数. #@author: gr #@date: 2015-07-23 #@email: forgerui@gmail.com 一.constructor, copy construc ...

  6. (教学思路 c#之类一)声明类和对象、定义类成员及其引用

    上一节(教学思路 c#之面向对象二)初步理解面向对象的基本概念中,我没有提到任何的代码,只是用语言和实例来说明什么是类和对象以及面向对象的特性等基本概念,类是c#程序语言的重要核心,也是构建应用程序最 ...

  7. 第十七章 特殊类成员

    第十七章  特殊类成员 1.1  静态成员变量 假如我们要在一个类中的所有对象间共享某种数据,那不妨将其设置为静态成员变量/函数: static x 1.2  静态成员变量 静态成员变量与成员变量有4 ...

  8. 【MFC系列-第11天】CWinApp类成员分析

    11.1 资源管理器开发(C语言) 三种位运算 //#include <AtlBase.h> //混合 c_file.attrib |= _A_HIDDEN|_A_RDONLY; //判断 ...

  9. 面向对象:包装类、对象处理、类成员

    包装类 Java是面向对象编程语言,但也包含了八种基本的数据类型,这八种基本的数据类型不支持面向对象的编程机制,基本的数据类型也不具备对象的特性:没有成员变量.方法被调用.所有类型的变量都继承Obje ...

最新文章

  1. 麻省、北大、清华等顶尖高校与企业 20 位强化学习专家齐聚,RLChina 2021 强化学习暑期课免费报名啦!
  2. Git 配置命令设置
  3. 上周热点回顾(10.1-10.7)
  4. Swift初级入门【步步为营】
  5. java 中 针对数组进行的工具类
  6. as真机调试_如何使用真机调试android程序
  7. 但救地球要紧的飞鸽传书
  8. Android仿支付宝高顶部功能条伸缩动画
  9. 怎么把java安装到64位_怎么安装64位JAVA,大师来详解
  10. 单片机(ISIS 7 Professional):简易8x8矩阵LED灯代码项目
  11. 视频教程-【深入理解计算机网络】讲师解读计算机网络原理视频课程(上)-计算机网络
  12. VS Code久坐提醒插件,996防猝死[捂脸]
  13. 今日头条推荐算法相关博客集合
  14. 阿尔伯塔计算机科学学费,留学360发布阿尔伯塔大学学费
  15. 机器学习实战案例—验证码(CAPTCHA)识别基于Logistic
  16. Matplotlib数据可视化画图
  17. java如何将图片转为pdf
  18. 计算机金融专业排行榜,2020金融学专业大学排名 中国金融专业大学100强
  19. Lecture6 逻辑斯蒂回归(Logistic Regression)
  20. BW顾问进阶:BW服务器访问文件数据源,处理链调度抽取方案

热门文章

  1. SSH便利店管理系统
  2. 一篇学会脱壳——06.exe脱壳
  3. 【腾讯T6技术专家时间管理法】工作中别做这七件浪费时间的事了!
  4. FPGA读写Flash模块 Verilog程序设计
  5. linux flash模块分层
  6. 数据分析:什么是业务?全面解析问题
  7. 【dsPIC33E】Bootloader(四)Bootloader上位机
  8. 三星I560 UCWEB7.0正式版下载 SISX安装包
  9. ML之PFI(eli5):基于mpg汽车油耗数据集利用RF随机森林算法和PFI置换特征重要性算法实现模型特征可解释性排序
  10. 数据库审计系统在加密传输场景下的应用-SinoDB