文件打开和保存对话框

打开文件对话框

//创建打开对话框
CFileDialog fileDlg(TRUE);//TRUE是打开,FALSE是保存
fileDlg.m_ofn.lpstrFilter = "HEX Files(*.hex)\0*.hex\0\0";//文件过滤器
if( IDOK == fileDlg.DoModal() )
{	//读取文件内容
	CFile file( fileDlg.GetFileName(), CFile::modeRead );//获取文件名称并打开文件
	DWORD dwFileLen = file.GetLength();//文件长度	
	char *pbHEXBuf = new char[dwFileLen];//开辟内存空间
	file.Read( pbHEXBuf, dwFileLen );//读取文件		
	file.Close();//关闭文件	
	……//文件内容处理
	delete[] pbHEXBuf;//释放内存空间
}	

保存文件对话框

char *p = new char[0xFFFFFF];//开辟文件字符串空间,大小未知,所以尽量大一些
u32_t len=0;//文件字符串总长度
……//填充文件内容

//创建保存对话框
CFileDialog fileDlg(FALSE, "csv", "lpr_qy_import");//TRUE是打开,FALSE是保存    
if( IDOK == fileDlg.DoModal() )
{	//保存文件
	CFile file( fileDlg.GetFileName(), CFile::modeCreate|CFile::modeWrite );//获取文件名称并打开文件
	file.Write( p, len );//写文件
	file.Close();//关闭文件    	
}
delete[] p;//释放空间	

知识点:
一、
CFileDialog fileDlg(FALSE, “csv”, “lpr_qy_import”);//创建文件对话框对象
第一个参数:TRUE是打开,FALSE是保存
第二个参数:文件扩展名,不带前边的点。有缺省值,为NULL。
第三个参数:文件名,不带点和后边的扩展名。有缺省值,为NULL。
第四个参数:特定风格。有缺省值。
第五个参数:过滤特性。有缺省值。
第六个参数:父窗口。有缺省值。
第二个第三个参数会改变对话框窗口的默认值,所以,一般在保存时用到。

二、
fileDlg.m_ofn.lpstrFilter = “CSV Files(.csv)\0.csv\0\0”;//对话框窗口文件类型过滤器
一般在打开时用到。因为文件夹中文件种类过多,不方便客户查找,过滤后只显示关注的类型。
“BIN Files(.bin)\0.bin\0TXT Files(.txt)\0.txt\0CSV Files(.csv)\0.csv\0\0”;//过滤三种文件类型
中间不能有空格,以两个\0结束。

三、
fileDlg.GetFileName();//获取文件名:文件名+扩展名:test1.txt
fileDlg.GetPathName();//获取文件名:路径+文件名+扩展名:c:\ test\ test1.txt
用这两个都行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值