CFile类的open方法怎么用?

open方法能打开什么文件类型?*.mp4的文件能打开吗?关键是参数怎么用,请给一个具体实例.... open方法能打开什么文件类型?*.mp4的文件能打开吗?

关键是参数怎么用,请给一个具体实例.
展开
 我来答
军昊韦0el95b
推荐于2018-05-15 · TA获得超过624个赞
知道小有建树答主
回答量:443
采纳率:50%
帮助的人:382万
展开全部

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\n"),
pszFileName, fileException.m_cause );
}


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

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

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Storm代理
2023-07-25 广告
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企... 点击进入详情页
本回答由Storm代理提供
百度网友de28292a0
推荐于2016-03-08 · TA获得超过733个赞
知道小有建树答主
回答量:667
采纳率:0%
帮助的人:773万
展开全部
char* pszFileName = "c:\\test\\myfile.dat";
CFile myFile;
char szBuffer[256];
UINT nActual = 0;

myFile.Open( pszFileName, CFile::modeCreate | CFile::modeReadWrite) );//可以打开任意文件
nActual = myFile.Read( szBuffer, sizeof( szBuffer ) );
myFile.Close();
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式