判断文件是否被打开(word)

这根本不是个值得讨论的话题,它太简单了,只要一个F1,msdn上会给你一个详细的讲解,虽然是英文的,但是很好理解。
    int isopen;//判断文件是否打开
    isopen=docFile.Open(strFileName,CFile::modeCreate|CFile::modeWrite);
    if (isopen==0) {
        MessageBox(filename+"   已经被打开","提示^_^",0+64);
        return;
    }
   搞笑的是我发现Open(strFileName,CFile::modeCreate|CFile::modeWrite);这个函数在我的vc环境里是这样写的:virtual BOOL Open (LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError = NULL)
这不返回的是bool类型吗?
   如是我一开始把isopen定义为bool类型的,使用过程中居然有警告,晕倒啊。
 后来才明白函数定义人的用意: 0代表false 非零代表true,这个学过c++的人都知道,但是在写代码的时候,却不提倡这样写,例如:
  bool isopen;
 if(isopen==false)//写法是不提倡的
提倡的是if(isopen)或者if(!isopen),也绝不提倡if(isopen==1)这类的。
而打开文件这个方法,它的返回值是这样的,打不开的时候返回0,打开了返回一个非零的值,当然只有两种打开方式,ture与false即可区别,但是函数定义人却使用了数字形式,是不是典型的微软思想?
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值