c++-MFC 创建文本文件的问题

问题描述

MFC 创建文本文件的问题
用的CFile::open创建文本,但是怎么判断是否创建成功呢?
测试发现如果创建已存在的同名文本的话,函数是会将文本打开的(返回值依然是true),这样我就不能判断是否创建成功了。。此处我只想创建文本,创建成功返回true,创建失败就返回false,而不去考虑打开它

解决方案

如果创建已存在的同名文本的话,函数是会将文本打开的(返回值依然是true)
此时本来就说明成功,难道你想返回false?
那你先用PathFileExists判断文件是否存在

解决方案二:
那就先检查是否存在吧

解决方案三:
virtual BOOL Open( LPCTSTR lpszFileName UINT nOpenFlags CFileException* pError = NULL );
如果只能通过设置nOpenFlags来做的话
CFile::modeCreate 让构造器创建一个新文件,如果那个文件已经存在,把那个文件的长度重设为0
CFile::modeNoTruncate 可以同modeCreate. 一起用,如果要创建的文件已经存在,并不把它长度设置为0,因而这个文件获取或者作为一个新建文件或者作为一个已存在文件打开。这个功能往往很好用,比如说,当你需要打开一个设置文件,但是你并不清楚这个文件是否已经存在。

时间: 2024-08-07 05:50:47

c++-MFC 创建文本文件的问题的相关文章

c++-MFC 创建文本文件 如何选择文本类型

问题描述 MFC 创建文本文件 如何选择文本类型 我想创建ANSI的,而不是unicode的 直接用CFile::Open()貌似默认是unicodde的... 解决方案 二进制方式打开,写入0xFFFE文件头,就是unicode,否则就是ansi的.当然你写入的char也要是ANSI的. 参考:http://blog.csdn.net/chenlycly/article/details/17929617 解决方案二: 用fstream来创建文件

一个ASP创建文本文件的函数

 '============================================================= '过程名:CreatedTextFile '作  用:创建文本文件 '参  数:filename  ----文件名 '        body  ----主要内容 '============================================================= Public Function CreatedTextFile(ByVal Fil

ASP入门教程-创建文本文件

一.创建文本文件的步骤如下: 1.创建 FileSystemObject 对象实例: <% Set fso=Server.CreateObject("Scripting.FileSystemObject") %> 2.创建 TextStream 对象实例: <% txtFile=fso.CreateTextFile(filename[,overwrite[,unicode]]) %> 3.使用 TextStream 对象的方法对文件进行写操作. 使用 Creat

c++-如何用C++(MFC)创建一个dll 在别的环境下来实现对excel读写的调用?

问题描述 如何用C++(MFC)创建一个dll 在别的环境下来实现对excel读写的调用? http://www.cnblogs.com/xianyunhe/archive/2011/09/25/2190485.html 现在已经使用上述链接的方法实现了对excel文件数据的读写操作,我要怎样将这个程序设置成为 调用excel库 的程序 目的是想在别的环境下调用这个lib(dll)来实现对excel文件的读写 菜鸟一枚,可能问的方式有些问题,还请给予解惑 解决方案 一样的,代码放在dll中就可以

vs2008 MFC创建窗口打开Excel进行读写

问题描述 vs2008 MFC创建窗口打开Excel进行读写 vs2008 MFC创建窗口打开Excel进行读写,保存后窗口花屏(xp系统花屏,win7正常)(父窗口花屏,子窗口正常) 解决方案 花屏应该和你的程序没关系,检查下显卡驱动,其它驻留的会涉及绘图的程序.

急!!MFC创建数据库支持应用时配置数据源失败。

问题描述 急!!MFC创建数据库支持应用时配置数据源失败. 我在控制面板的管理工具中ODBC数据源配置好了,但是创建MFC程序的时候添加数据库支持 时,提示错误01000和80001,急死了,找不到类似的问题,求大神 连接失败: SQLState: '01000' SQL Server 错误: 14 [Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionOpen (Invalid Instance()). 连接失败: SQLSta

vs2008的问题-我照着网上的编的可是都是错误??VS2008 mfc创建属性页????能

问题描述 我照着网上的编的可是都是错误??VS2008 mfc创建属性页????能 还有向导对话框???怎么做? 我的程序z1z12z2都是新建类 void C向导对话框View::On1212() { // TODO: 在此添加命令处理程序代码 z12 a12(_T("aa")); z1 a1; z2 a2; a12.AddPage(&a1); a12.AddPage(&a2); a12.DoModal(); } 网上教程 第一步:新建一个单文档的工程: 第二步:在资

MFC创建了字体设置以后,字体有锯齿看不清,用的是setfont

问题描述 MFC创建了字体设置以后,字体有锯齿看不清,用的是setfont font.CreatePointFont(12,"宋体"); m_Edit->SetFont(&font); 解决方案 看下你的系统的cleartype的设置(在系统显示属性中),选择清晰看看.字体设置大一些,比如16或者20 解决方案二: 用的是什么函数不是重点,重点是你使用的是什么字体. 矢量字体是必须的选择,但也不能无限放大. 如果一定要放大,在显示方法上用一定的技巧.

MFC创建模态对话框和非模态对话框的方法_C 语言

在MFC中对话框有两种形式,一个是模态对话框(model dialog box),一个是非模态对话框(modeless dialog box).本文对此分别简述其创建方法. 一.模态对话框(model dialog box) 在程序运行的过程中,若出现了模态对话框,那么主窗口将无法发送消息,直到模态对话框退出才可以发送. 点击模态对话框中的OK按钮,模态对话框会被销毁. 创建一个模态对话框的代码如下所示: //创建一个模态对话框 CTestDialog td; td.DoModal(); 其中C