用mfc编写项目的时候往往需要调用窗口,允许用户通过窗口进行选择文件操作

    TCHAR szBuffer[MAX_PATH] = { 0 };
OPENFILENAME ofn = { 0 };
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = m_hWnd;
ofn.lpstrFilter = _T("txt文件(*.txt)\0");//要选择的文件后缀
char buf[80];
getcwd(buf, sizeof(buf));
ofn.lpstrInitialDir = _T(buf);//默认的文件路径
ofn.lpstrFile = szBuffer;//szBuffer是存放的选择的文件路径
ofn.nMaxFile = sizeof(szBuffer) / sizeof(*szBuffer);
ofn.nFilterIndex = 0;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_EXPLORER;
//标志如果是多选要加上OFN_ALLOWMULTISELECT
BOOL bSel;
bSel = GetOpenFileName(&ofn);//实际打开窗口的语句
int i = 0,l=0;
int len = strlen(szBuffer) ;
TCHAR filename[MAX_PATH];
//路径变换,变换为..\\..\\...
while (i < len) {
filename[l++] = szBuffer[i];
if (szBuffer[i++] == '\\')
filename[l++] = '\\';
}
filename[l++] = '\0';
FILE *fp;
if ((fp = fopen(filename, "r")) == NULL)
{
printf("无法打开此文件\n");
return;
}
char *miwen = new char[1024];
i = 0;
while (!feof(fp)) {
miwen[i++] = fgetc(fp);
}
miwen[i - 1] = '\0';
fclose(fp);

打开窗口进行选择文件(txt文件),打开所选文件,读入文件的更多相关文章

  1. sourcetree file status checkbox gone (文件状态下的勾选文件 list 消失)

    原来是这样的(sourcetree 版本 2.7.1) 不知道触发了什么条件,sourcetree 变成了以下状态(官方解释是拖动面板小于 1 px 后会导致这个问题) 中间的那一列可勾选的已修改的文 ...

  2. C#文件对话框,一次多选文件设置

    OpenFileDialog ofd = new OpenFileDialog();ofd.Multiselect = true;if (ofd.ShowDialog() == DialogResul ...

  3. Mac 苹果OS X小技巧:如何更改文件的默认打开方式

    OS X小技巧:如何更改文件的默认打开方式 1.command + i 打开简介 2.选择合适的软件打开方式 3.选择全部更改 如图: 转自:http://digi.tech.qq.com/a/201 ...

  4. C#本地文件下载以及FTP文件服务下载(以Pdf文件为例)

    一.C#实现本地文件下载 1.文件下载的路径  文件名称 以及文件下载之后要放的位置  这三个变量是必须要的 2.定义以下四个对象: FileWebRequest ftpWebRequest = nu ...

  5. win10 uwp 打开文件管理器选择文件

    本文:让文件管理器选择文件,不是从文件管理器获得文件. 假如已经获得一些文件,那么如何从文件管理器选择这些文件? 使用方法很简单. 从网上拿图来说 打开文件夹自动选择所有文件 首先需要获得文件夹,因为 ...

  6. C#选择文件、选择文件夹、打开文件

    1.选择文件用OpenDialog OpenFileDialog dialog = new OpenFileDialog(); dialog.Multiselect = true;//该值确定是否可以 ...

  7. Atom打开txt文件中文乱码解决、指定文件的语法格式、win10中禁止睡眠

    1.Atom中文乱码解决 首先保证打开的txt文件的编码格式为UTF-8无BOM编码格式,可以使用Notepad++更改,如下图所示: 然后再在atom中打开文件,并右键点击文件内容的任意位置,Cha ...

  8. C# winform选择文件、选择文件夹、打开文件

    文章来自博客园友,这里只是做一下笔记. 来源:https://www.cnblogs.com/liuqifeng/p/9149125.html 一.选择文件用OpenDialog OpenFileDi ...

  9. ppt标签打开文件 word标签打开文件 窗口打开文件 粘贴默认方式

    ppt标签打开文件 word标签打开文件 word窗口打开文件 ppt粘贴默认方式 word粘贴默认方式 ppt粘贴默认方式 只保留文本 == 通过 视图 切换窗口. == 层叠  样式 如下. == ...

随机推荐

  1. 记录一次MyEclipse工程搭建的辛酸

    一个历史项目,使用的是Myeclipse6.5版本:这一天就砸在这个项目了. 调通web项目:内置的是tomcat插件,貌似和eclipse的server版的还不太一样. 长这个样子:

  2. 根据tomcat的日志判断web的发布路径以及服务路径

    [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.startup.HostConfig.unde ...

  3. bzoj 4006 [JLOI2015]管道连接——斯坦纳树

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4006 除了模板,就是记录 ans[ s ] 表示 s 合法的最小代价.合法即保证 s 里同一 ...

  4. Codeforces Round #456 B题

    一.题意 给你一个n和一个k,让你从[1, n]区间内选k个数,这k个数异或和最大. 二.思路 我一开始看到这种题,不自觉地就想到,莫非又要搞很复杂的线段树.主席树?貌似还有些难搞啊.然而事实是:Co ...

  5. 关于jQuery的$.proxy()应用.

    今天在看<<锋利的jQuery>>时看到了proxy()的使用,感觉很模糊,就到处找资料. jQuery的源码也没看明白. 不过总算明白了proxy的用法了; <inpu ...

  6. PG自动化测试

    安装软件包 yum groupinstall "Development Tools" yum install zlib-devel tcl-devel readline-devel ...

  7. 可视化库-Matplotlib-条形图(第四天)

    1.画两个条形图,bar和barh, 同时axes[0].axhline画一条横线,axes[1].axvline画一条竖线 import numpy as np import matplotlib. ...

  8. 如何设置mysql允许外网访问

    修改表,登录mysql数据库,切换到mysql数据库,使用sql语句查看"select host,user from user ;" console: >use mysql; ...

  9. 通过nginx + lua来统计nginx上的监控网络请求和性能

    介绍 以前我们为nginx做统计,都是通过对日志的分析来完成.比较麻烦,现在基于ngx_lua插件,开发了实时统计站点状态的脚本,解放生产力. 项目主页: https://github.com/sky ...

  10. eclipse cut copy paste plugin

    The Cut Copy Paste Plus plug-in enhances the standard Cut, Copy and Paste commands in Eclipse IDE. W ...