VS2008, MFC 文件的操作4 - CFile类, CFileDialog类 方式 文本方式打开

11 篇文章 0 订阅

接上一节笔记:VS2008, MFC 文件的操作3 - Win32 API 方式 文本方式打开

1. 代码 及 点击 子菜单项 WriteFile 时候的可选文件 

void Cvs2008_SX_jiaocheng12View::OnFileWritefile()
{
	// TODO: 在此添加命令处理程序代
	//CFilel类
	//CFile file(L"5.txt",CFile::modeCreate | CFile::modeWrite);
	//file.Write(L"yyyyyxxxxxxZZZZZZ",strlen("yyyyyxxxxxxZZZZZZ"));
	//file.Close();
	//写入文件窗口过程
	CFileDialog fileDlg(FALSE);//创建文件对话框用 参数FALSE
	fileDlg.m_ofn.lpstrTitle= L"My file SAVE dialog box";
	fileDlg.m_ofn.lpstrFilter = L"Text Files(*.txt\0*.txt\0All Files(*.*)\0*.8\0\0";//注意\0的使用,最后要两个\0
	fileDlg.m_ofn.lpstrDefExt = L"txt";
	if(IDOK == fileDlg.DoModal())//模态对话框
	{
		CFile file(fileDlg.GetFileName(),CFile::modeCreate | CFile::modeWrite);
		file.Write(L"Open a dialog box give a name to file and write this context to it",strlen("Open a dialog box give a name to file and write this context to it"));
		file.Close();
	}
	
}

2. 代码及点击 子菜单ReadFile 

void Cvs2008_SX_jiaocheng12View::OnFileReadfile()
{
	// TODO: 在此添加命令处理程序代
	//CFile类
	//CFile file(L"5.txt",CFile::modeRead);
	//char *pBuf;
	//DWORD dwFileLen;
	//dwFileLen = file.GetLength();
	//pBuf = new char[dwFileLen+1];
	//pBuf[dwFileLen] = 0;
	//file.Read(pBuf,dwFileLen);
	
			//char 和wchar 转换
	//int num = MultiByteToWideChar(0,0,pBuf,-1,NULL,0);
	//wchar_t *wide = new wchar_t[num];
	//MultiByteToWideChar(0,0,pBuf,-1,wide,num);

	//MessageBox(wide);
	//file.Close();
	//打开文件窗口过程
	CFileDialog fileDlg(TRUE);//打开文件对话框用 参数TRUE
	fileDlg.m_ofn.lpstrTitle= L"My file OPEN dialog box";
	fileDlg.m_ofn.lpstrFilter = L"Text Files(*.txt\0*.txt\0All Files(*.*)\0*.8\0\0";//注意\0的使用,最后要两个\0
	//fileDlg.m_ofn.lpstrDefExt = L"txt";//不需要缺省扩展名
	if(IDOK == fileDlg.DoModal())//模态对话框
	{
		CFile file(fileDlg.GetFileName(), CFile::modeRead);//为读取而打开
		char *pBuf;
		DWORD dwFileLen;
		dwFileLen = file.GetLength();
		pBuf = new char[dwFileLen+1];
		pBuf[dwFileLen] = 0;
		file.Read(pBuf,dwFileLen);
		
				//char 和wchar 转换
		int num = MultiByteToWideChar(0,0,pBuf,-1,NULL,0);
		wchar_t *wide = new wchar_t[num];
		MultiByteToWideChar(0,0,pBuf,-1,wide,num);

		MessageBox(wide);
		file.Close();
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值