CFileDialog文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下:
CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL );参数意义如下:

bOpenFileDialog 为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框。
lpszDefExt 指定默认的文件扩展名。
lpszFileName 指定默认的文件名。
dwFlags 指明一些特定风格。
lpszFilter 是最重要的一个参数,它指明可供选择的文件类型和相应的扩展名。参数格式如:
"Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";文件类型说明和扩展名间用 | 分隔,同种类型文件的扩展名间可以用 ; 分割,每种文件类型间用 | 分隔,末尾用 || 指明。
pParentWnd 为父窗口指针。
创建文件对话框可以使用DoModal(),在返回后可以利用下面的函数得到用户选择:
CString CFileDialog::GetPathName( ) 得到完整的文件名,包括目录名和扩展名如:c: est est1.txt
CString CFileDialog::GetFileName( ) 得到完整的文件名,包括扩展名如:test1.txt
CString CFileDialog::GetExtName( ) 得到完整的文件扩展名,如:txt
CString CFileDialog::GetFileTitle ( ) 得到完整的文件名,不包括目录名和扩展名如:test1
POSITION CFileDialog::GetStartPosition( ) 对于选择了多个文件的情况得到第一个文件位置。
CString CFileDialog::GetNextPathName( POSITION& pos ) 对于选择了多个文件的情况得到下一个文件位置,并同时返回当前文件名。但必须已经调用过POSITION CFileDialog::GetStartPosition( )来得到最初的POSITION变量。

如何进行文件操作

取得文件名
{
CString
FilePathName;
CFileDialog dlg(TRUE);///TRUE为OPEN对话框,FALSE为SAVE AS对话框
if(dlg.DoModal()==IDOK)
FilePathName=dlg.GetPathName();
}
相关信息:CFileDialog 用于取文件名的几个成员函数:
假如选择的文件是C:WINDOWSTEST.EXE
则:
(1)GetPathName();取文件名全称,包括完整路径。取回C:WINDOWSTEST.EXE
(2)GetFileTitle();取文件全名:TEST.EXE
(3)GetFileName();取回TEST
(4)GetFileExt();取扩展名EXE

打开文件
CFile file("C:HELLO.TXT",CFile::modeRead);///只读方式打开
///CFile::modeRead可改为 CFile::modeWrite(只写),CFile::modeReadWrite(读写),CFile::modeCreate(新建)
例子:
{
CFile file;
file.Open("C:HELLO.TXT",CFile::modeCreate|Cfile::modeWrite);
...
...
}

移动文件指针
file.Seek(100,CFile::begin);///从文件头开始往下移动100字节
file.Seek(-50,CFile::end);///从文件末尾往上移动50字节
file.Seek(-30,CFile::current);///从当前位置往上移动30字节
file.SeekToBegin();///移到文件头
file.SeekToEnd();///移到文件尾

读写文件
读文件:
char buffer[1000];
file.Read(buffer,1000);
写文件:
CString string("这个世界只有偏执狂才能成功");
file.Write(string,8);

关闭文件
file.Close();

CFileDialog的基本使用相关推荐

  1. MFC中利用CFileDialog选择文件并读取文件所遇到的问题和解决方法

    在用MFC编写一个上位机时,需要实现选择和读取一个二进制文件,本来以为很简单的但是在实现过程中遇到很多问题,所幸都一一解决,这里做一下记录. 首先在实现文件选择,在界面上设置一个按钮,并在点击事件函数 ...

  2. MFC调用CFileDialog之后目录居然会改变,调试了好久终于发现是这个问题

    MFC调用CFileDialog之后目录居然会改变,调试了好久终于发现是这个问题,上网搜了下,发现也有人和我出现相同的问题.他的博客如下: http://www.programlife.net/cur ...

  3. CFileDialog的使用方法简单介绍

    CFileDialog文件选择对话框的使用:首先构造一个对象并提供对应的參数,构造函数原型例如以下: CFileDialog::CFileDialog( BOOL bOpenFileDialog, L ...

  4. CFileDialog 打开多个目录下的多个文件

    使用CFileDialog 打开多个文件,获取文件路径.一般的使用情况为同一个文件夹目录下的某些文件,除文件名不一致外,前面路径均一样,使用GetStartPosition(),GetNextPath ...

  5. CFileDialog 在使用sdk 后出现异常 Access violation

    /*************************************************************************************************** ...

  6. mfc 监控文件操作_实战经验:使用CFileDialog实现多个文件选择

    问题 最近需要实现文件选择的功能,要求是需要弹出系统标准的文件选择对话框,另外,允许用户选择多个文件. 解决方法 MFC中有一个类CFileDialog就是用来做这件事的,而且功能还挺丰富,今天只是使 ...

  7. MFC——文件打开和保存对话框(CFileDialog)

    最近要做一个文件打开和保存的对话框,现将相关的代码记录如下,用以备忘! 所用控件: 2个静态标签(Static Text):用以显示功能标签: 2个文本框(Edit):用以显示打开的文件路径全名要保存 ...

  8. 关于 CFileDialog 对话框多选功能的一个问题

    From: http://www.vckbase.com/document/viewdoc/?id=1544 最近有位读者来信指出:<在线杂志>第26期中有一篇文章:"再谈 CF ...

  9. CFileDialog

    https://baike.baidu.com/item/CFileDialog/9747028

最新文章

  1. python绘图和可视化_Python 绘图和可视化详细介绍
  2. Prototype Pattern(原型模式)
  3. 学完html4需要学什么,学完了html4,再学习html5需要重点学习什么??
  4. AC自动机解决字符集很大的情况(可持久化数组优化getfail的过程)
  5. 高薪Java工程师必看的书籍
  6. 播放提示音+页面右下角提示框
  7. cf 165 div2 解题报告
  8. 输入设备名输入输出设备的重定向
  9. linux远程控制木马,Kali Linux-使用Shellter生成远控木马并进行持久化控制
  10. 2009年度优科豪马轮胎全国经销商会议在三亚召开
  11. 多项全国首创技术加持,重回长沙对哈啰、美团、青桔意味着什么?
  12. win7默认网关不可用怎么修复 win7默认网关不可用的快速解决方法
  13. 用阿里云建站模版套餐云速成美站有没有可能不容易被seo抓取排名?
  14. 初二因式分解奥数竞赛题_初中数学因式分解(含答案)竞赛题精选.doc
  15. 25个值得收藏的导航类网站合集
  16. TTE系统容错设计(1) ——集中守护机制
  17. 讯飞:糖尿病遗传风险预测Coggle挑战赛公开
  18. 颜色的前世今生1·一切从光开始
  19. android 多媒体框架服务之StagefrightPlayer和OMXCodec实现原理学习
  20. 持续发挥供应链优势,美菜网助力春节期间餐饮业回春

热门文章

  1. NYOJ 631 冬季长跑
  2. Vue的v-for中列表项拖拽排序详细方法
  3. AD 域服务简介(二)- Java 获取 AD 域用户
  4. 排序算法-- 大总结
  5. XFire WebService demo
  6. openssh设置免密码登录远程服务器
  7. 在VS2005下使用libjson -- wangj
  8. 经历就是财富——总结我的26岁
  9. imf瞬时频率跳变问题
  10. Django入门:(admin.E108