打开窗口进行选择文件(txt文件),打开所选文件,读入文件

用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);

原文地址:https://www.cnblogs.com/jakejian/p/9141333.html

时间: 2024-10-10 13:22:19

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

二期项目总结(一) 通过a标签打开文件上传选择框,使用Ajax上传文件

很多时候我们会给a标签增加一个点击事件,用于上传文件.为什么不使用原滋原味的文本打开按钮呢?当然是不好看,而且样式难以控制. 这时候可以通过控制a标签,给它添加一个点击事件,在a标签触发点击事件的时候打开文本选择框,就很好看了. 好了,现在来上思路: 先要给出一个a标签和文本选择的打开input,但是这个input的display要设置为none, 如下: <a id="uoloadA" onclick="ClickInput()">上传文件</a

Win7文件右键菜单打开方式选项不见了怎么办,如何恢复?

Win7文件右键菜单打开方式选项不见了怎么办,如何恢复?今天突然发现,对着Win7电脑里面的文件,单击鼠标右键时,右键菜单中的打开方式选项不见了,如下图所示.这种情况大多是,由系统动态链接库文件被破坏或出现异常情况造成的,那么我们又如何解决这个问题呢?小编参考过高手朋友的建议后,成功恢复了打开方式选项,希望下面的操作方法,对于到类似情况的朋友能有所帮助! 第一步.使用regedi运行命令,打开"注册表编辑器" 第二步.在注册表编辑器界面,依次展开"HKEY_CLASSES_R

任意文件夹下打开cmd功能的设置(win10)

win10中打开cmd的方法: 1."运行"中输入CMD打开,也可以按住win+R 2.选择命令行工具中"开始-->>所有应用-->>Windows系统-->>找到 win10设置 第一步: 新建注册表值在运行中输入:regedit 打开注册表编辑器,进入分支:HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers,在该分支下新

CMD:[1]在当前文件夹下打开cmd命令

来源http://jingyan.baidu.com/article/22a299b51e7ad89e19376ad5.html 对于电脑老鸟而言,在使用windows系统的过程中,经常需要在cmd窗口中输入一些命令进行操作.但是如果每一次都是在cmd窗口中用CD命令进行相应的文件夹目录,实在不便,尤其是在文件夹层次比较多而且带有中文目录的前提下.如果经常使用cmd,每次都会因此浪费一些时间,其实还有更快速的在当前目录下打开CMD的方法,有些ghost系统在封装时,技术人员都已经设置好的,如果你

UAC相关问题分析--使用管理员权限打开VisualStudio,无法访问网络磁盘,无法拖拽文件

搬运自http://wurang.me/2014/06/17/uac-problems.html [问题产生] 问题最初是在administrator权限下,visual studio 打开网络磁盘下的文件报错.经过几次调试,最终发现是问题是在管理员权限下,vs无法访问网络磁盘. Console.Write( System.IO.File.Exists(path)); 该结果返回False.为了确认是由于权限问题引起,使用非管理员权限打开vs,运行上面的程序,结果返回True. 至此问题确立:w

C++文件操作:打开文件和写入文件 zz

http://www.weixueyuan.net/view/5825.html 如果程序的运行结果仅仅显示在屏幕上,当要再次查看结果时,必须将程序重新运行一遍:而且,这个结果也不能被保留. 如果希望程序的运行结果能够永久保留下来,供随时查阅或取用,则需要将其保存在文件中. 文件分类 外部文件和内部文件 外部文件:指磁盘文件,也是通常所谓的文件. 内部文件:指在程序中运行的文件,更正式的称谓是“文件流对象”. 程序中操作的是内部文件,最后保存的是外部文件. 文本文件和二进制文件 文本文件:由字符

安全加密后的文件夹怎么打开呢?

在Windows中,打开控制面板,可以进行系统设置:打开拨号网络,可以建立新连接,或进行拨号:打开打印机,可以安装打印机,并可对打印机进行设置-- 其实,我们也可以自己制造这样的文件夹.下面就跟我一起来制作吧. 对于加密后的文件夹怎么打开呢?因为我们无法把该文件夹名称中的类ID号直接删除,所以无法通过重命名把该文件夹变为普通文件夹.那么怎么办呢?我们可以用压缩软件WinRAR来解决这个问题.启动WinRAR,切换到该文件夹的上级文件夹,右键单击该文件夹,在弹出菜单中选择"重命名",去掉

PHP文件操作 之打开远程文件

//配置php.ini 开启allow_url_fopen选项 //访问的文件有可读或者可写的权限 //$f = fopen('http://www.example.com/a.txt','rb'); //$f = fopen('http://www.example.com/a.txt','wb'); //fread($f,'读取的长度'); //访问远程文件 //打开远程文件 $f = fopen('http://www.baidu.com', rb); //判断打开文件是否成功 if (!$

vbox虚拟机vdi文件用VMware打开

方法一: 使用VirtualBox 自带的VBoxManage来进行格式转换: 1.安装VBoxManage 2.使用VBoxManage格式转换指令转为Vmware能识别的(vmdk)格式 方法二: vdi转成VM虚拟机文件vmdk文件并生成vm虚拟机配置文件 1.vbox导出ova虚拟机文件 2.用VM虚拟机打开ova文件 方法三: 我们将使用qemu-img工具.QEMU磁盘镜像工具(这个要在能开机的情况下开始,安装qemu-kvm可能导致virtualbox无法启动) 1.安装qemu-