精华内容
下载资源
问答
  • VC6.0 怎么打开MFC工程

    千次阅读 2019-10-15 16:41:11
    相信大家在学习过程中,想要打开自己以前写的MFC工程,但是不知道怎么打开,有的人会点击exe文件其实并没有用 文件-》打开工作空间-》选择.dsw文件 成功的打开了 ...

    相信大家在学习过程中,想要打开自己以前写的MFC工程,但是不知道怎么打开,有的人会点击exe文件其实并没有用

    • 文件-》打开工作空间-》选择.dsw文件
      在这里插入图片描述
      在这里插入图片描述
      成功的打开了
    展开全文
  • 如图,怎么让程序获取,我选择的是第一个txt格式,还是第二个标准txt格式,谢谢。 这样做是因为两种txt格式解析不一样,所以我想区分一下。谢谢 [img=...
  • 我之前看的资料说用ShellExecute(),我使用了,但是只能对具体的路径,如打开C盘的某个文件,这样是可以的,但是我是想打开资源中的帮助文档。我通过函数得到了资源的指针,但是接下来就不知道怎么用了。。。。。 ...
  • MFC怎么用按钮打开jar文件.就是点一下按钮,弹出选择打开文件,然后打开jar文件
  • 请问各位大神,怎么把从配置文件读取出来的路径放到系统自动生成的菜单中的最近打开文件列表中,添加后响应函数是什么呢?越详细越好。谢谢。[img=https://img-bbs.csdn.net/upload/201407/30/1406691963_21432.png]...
  • 急急急!!!!通过双击listctrl上的文件名item,实现将相应的文件打开。谢谢大神们啦
  • MFC怎么打开一个文件

    千次阅读 2012-03-23 16:51:40
    第1个回答 CFileDialog pCFileDialog...//CFileDialog pCFileDialog最后一个参数是打开文件对话框的筛选器内容,不是文件路径 pCFileDialog.m_ofn.lpstrTitle = "打开文件 "; if(pCFileDialog.DoModal()!=IDOK

    第1个回答

    CFileDialog pCFileDialog(true,NULL,NULL,0,"文本文件(*.txt)|*.txt");
    //CFileDialog pCFileDialog最后一个参数是打开文件对话框的筛选器内容,不是文件路径
    pCFileDialog.m_ofn.lpstrTitle = "打开文件 ";

    if(pCFileDialog.DoModal()!=IDOK)
    {
      return;
    }

    CFile pCFile;
    char charArrMsg[1024];

    int hResult=pCFile.Open(pCFileDialog.GetFileName(),CFile::modeRead);
    if(hResult==0)
    {
      MessageBox("打开文件E:\\FFF.TXT失败!");
      return;
    }

    ::memset(charArrMsg,'\0',1024);

    pCFile.Read(charArrMsg,1024);
    MessageBox(charArrMsg);

    pCFile.Close();

    第2个回答    CFile文件操作详解
    各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的。本文将对Visual C++中有关文件操作进行全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行详细的分析。
      1.文件的查找
      当对一个文件操作时,如果不知道该文件是否存在,就要首先进行查找。MFC中有一个专门用来进行文件查找的类CFileFind,使用它可以方便快捷地进行文件的查找。下面这段代码演示了这个类的最基本使用方法。
      CString strFileTitle;
      CFileFind finder;
      BOOL bWorking=finder.FindFile("C:\\windows\\sysbkup\\*.cab");
      while(bWorking)
      {
        bWorking=finder.FindNextFile();
        strFileTitle=finder.GetFileTitle();
      }

      2.文件的打开/保存对话框
      让用户选择文件进行打开和存储操作时,就要用到文件打开/保存对话框。MFC的类CFileDialog用于实现这种功能。使用CFileDialog声明一个对象时,第一个BOOL型参数用于指定文件的打开或保存,当为TRUE时将构造一个文件打开对话框,为FALSE时构造一个文件保存对话框。
      在构造CFileDialog对象时,如果在参数中指定了OFN_ALLOWMULTISELECT风格,则在此对话框中可以进行多选操作。此时要重点注意为此CFileDialog对象的m_ofn.lpstrFile分配一块内存,用于存储多选操作所返回的所有文件路径名,如果不进行分配或分配的内存过小就会导致操作失败。下面这段程序演示了文件打开对话框的使用方法。
      CFileDialog mFileDlg(TRUE,NULL,NULL,
      OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT,
       "All Files (*.*) |*.* ||",AfxGetMainWnd());
      CString str(" ",10000);
      mFileDlg.m_ofn.lpstrFile=str.GetBuffer(10000);
      str.ReleaseBuffer();
      POSITION mPos=mFileDlg.GetStartPosition();
      CString pathName(" ",128);
      CFileStatus status;
      while(mPos!=NULL)
      {
        pathName=mFileDlg.GetNextPathName(mPos);
        CFile::GetStatus(pathName,status);
      }

      3.文件的读写
      文件的读写非常重要,下面将重点进行介绍。文件读写的最普通的方法是直接使用CFile进行,如文件的读写可以使用下面的方法:
      //对文件进行读操作
      char sRead[2];
      CFile mFile(_T("user.txt "),CFile::modeRead);
      if(mFile.GetLength()<2)
       return;
      mFile.Read(sRead,2);
      mFile.Close();
      //对文件进行写操作
      CFile mFile(_T("user.txt"),CFile::modeWrite|CFile::modeCreate);
      mFile.Write(sRead,2);
      mFile.Flush();
      mFile.Close();
      虽然这种方法最为基本,但是它的使用繁琐,而且功能非常简单。我向你推荐的是使用CArchive,它的使用方法简单且功能十分强大。首先还是用CFile声明一个对象,然后用这个对象的指针做参数声明一个CArchive对象,你就可以非常方便地存储各种复杂的数据类型了。它的使用方法见下例。
      //对文件进行写操作
      CString strTemp;
      CFile mFile;
    mFile.Open("d:\\dd\\try.TRY",CFile::modeCreate|CFile::modeNoTruncate |CFile::modeWrite);
      CArchive ar(&mFile,CArchive::store);
      ar<<ar.Close();
      mFile.Close();
      //对文件进行读操作
      CFile mFile;
      if(mFile.Open("d:\\dd\\try.TRY",CFile::modeRead)==0)
      return;
      CArchive ar(&mFile,CArchive::load);
      ar>>strTemp;
        ar.Close();
      mFile.Close();
      CArchive的<<和>>操作符用于简单数据类型的读写,对于CObject派生类的对象的存取要使用ReadObject()和WriteObject()。使用CArchive的ReadClass()和WriteClass()还可以进行类的读写,如:
      //存储CAboutDlg类
      ar.WriteClass(RUNTIME_CLASS(CAboutDlg));
      //读取CAboutDlg类
      CRuntimeClass* mRunClass=ar.ReadClass();
      //使用CAboutDlg类
      CObject* pObject=mRunClass->CreateObject();
        ((CDialog*)pObject)->DoModal();
      虽然VC提供的文档/视结构中的文档也可进行这些操作,但是不容易理解、使用和管理,因此虽然很多VC入门的书上花费大量篇幅讲述文档/视结构,但我建议你最好不要使用它的文档。关于如何进行文档/视的分离有很多书介绍,包括非常著名的《VisualC++技术内幕》。
      如果你要进行的文件操作只是简单的读写整行的字符串,我建议你使用CStdioFile,用它来进行此类操作非常方便,如下例。
      CStdioFile mFile;
      CFileException mExcept;
      mFile.Open("d:\\temp\\aa.bat",CFile::modeWrite,&mExcept);
      CString string= "I am a string. ";
      mFile.WriteString(string);
      mFile.Close();

     4.临时文件的使用
      正规软件经常用到临时文件,你经常可以会看到C:\Windows\Temp目录下有大量的扩展名为tmp的文件,这些就是程序运行是建立的临时文件。临时文件的使用方法基本与常规文件一样,只是文件名应该调用函数GetTempFileName()获得。它的第一个参数是建立此临时文件的路径,第二个参数是建立临时文件名的前缀,第四个参数用于得到建立的临时文件名。得到此临时文件名以后,你就可以用它来建立并操作文件了,如:
      char szTempPath[_MAX_PATH],szTempfile[_MAX_PATH];
      GetTempPath(_MAX_PATH, szTempPath);
      GetTempFileName(szTempPath,_T("my_"),0,szTempfile);
      CFile m_tempFile(szTempfile,CFile::modeCreate|CFile::modeWrite);
      char m_char='a';
      m_tempFile.Write(&m_char,2);
      m_tempFile.Close();

      5.文件的复制、删除等
      MFC中没有提供直接进行这些操作的功能,因而要使用SDK。SDK中的文件相关函数常用的有CopyFile()、CreateDirectory()、DeleteFile()、MoveFile()。它们的用法很简单,可参考MSDN。

    1,判断文件是否存在
        access(filename,mode);
    2,对于不同用途又不同的文件操作,其中API函数CreateFile()也是比较有用处理方式,对于巨型文件很合适的.[1]显示对话框,取得文件名

    CString FilePathName;
    CFileDialog dlg(TRUE);///TRUE为OPEN对话框,FALSE为S***EAS对话框
    if(dlg.DoModal()==IDOK)
        FilePathName=dlg.GetPathName();

    相关信息:CFileDialog用于取文件名的几个成员函数:
    假如选择的文件是C:\WINDOWS\TEST.EXE
    则(1)GetPathName();取文件名全称,包括完整路径。取回C:\WINDOWS\TEST.EXE
    (2)GetFileTitle();取文件全名:TEST.EXE
    (3)GetFileName();取回TEST
    (4)GetFileExt();取扩展名EXE

    [2]打开文件
    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);
    }

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

    [4]读写文件
    读文件:
    char buffer[1000];
    file.Read(buffer,1000);
    写文件:
    CString string( "自强不息 ");
    file.Write(string,8);

    [5]关闭文件
    file.Close();

    -----
    第3个回答

    CFile的Open
    或者API CreateFile,ReadFile,WriteFile

    展开全文
  • MFC设为某类文件的默认打开程序时,怎么在双击文件MFC读取文件信息?就好像图像编辑软件,双击图像就可以打开软件,并加载图像
  • MFC中想打开一个txt文件,项目使用的是Unicode编码,打开后出现的都是乱码,txt中看到文字是以GB2312编码的,怎么转化啊?才能够在程序中打开文件时为正常字符,,,,,在线等,,望大神指点
  • vs2019 mfc 单文档程序,windows语言已经设置成中文,自己添加的对话框资源语言都选择中文,显示也是中文,没问题。 但是调用系统自带的“打开文档对话框”、”保存文件对话框“等,对话框标题都是英文的: Open, ...
  • MFC文件操作

    2020-12-30 13:45:48
    嘴硬到底是什么概念,大概就是,你问我是怎么想的,...二、创建和打开文件 void File() { CFile file; //modeCreate:没有就创建,有直接打开 //modereadwrite:读写方式打开 file.Open("E:/a.txt",CFile::modeCrea..

    嘴硬到底是什么概念,大概就是,你问我是怎么想的,其实我眼泪都要掉下来了,但我还是说了句,算了,就这样吧。。。

    ----  网易云热评

    一、创建windows桌面向导

    设为启动项、修改静态MFC、多字节

     

    二、创建和打开文件

    void File() {       CFile file;       //modeCreate:没有就创建,有直接打开       //modereadwrite:读写方式打开       file.Open("E:/a.txt",CFile::modeCreate|CFile::modeReadWrite);       file.Write("aiyoubucuo", strlen("aiyoubucuo"));       file.SeekToBegin();       char buf[256] = { 0 };       file.Read(buf, 256);       printf("%s\n", buf);       file.Close();}

     

    三、遍历文件

    void Find(CString path) {       CFileFind find;       BOOL goFind = find.FindFile(path + "/*.*");       while (goFind) {              goFind = find.FindNextFile();              CString filename = find.GetFileName();              CString filepath = find.GetFilePath();                //不能是空目录且不能是. ..目录              if (find.IsDirectory() && !find.IsDots()) {                     printf("[%s]\n", filename);                     Find(filepath);              }              else {                     printf("%s\n", filename);              }       }       find.Close();}

     

    欢迎关注公众号:顺便编点程

     

    展开全文
  • 打开文件对话框弹出时选择要打开文件前鼠标右键选中文件,然后选择重命名。 我为什么只要一选择重名命程序就崩溃? void CMyDlg::OnBnClickedOpen() { // TODO: Add your control notification handler ...
  • 我在MFC多文档界面中,需要打开一个文件,但是我不想利用打开打开文件”的对话框,而直接获取文件路径,打开相对路径下的文件。 也就是说,我现在要点击一个按钮,在视图中显示文本,此文本的内容来源本地的一个....
  • MFC的记事本文件打开是不通过CfileDiaog的吧,那么怎么直接打开文件并且显示在CEDIT呢?
  • Windous中的记事本程序,不需要启动,直接就能点击打开文件,请问这是怎么做到的?用MFC编写的记事本怎么才能做到?
  • 新手刚接触mfc,用tinyxml在做。
  • MFC的默认创建的单文档程序,菜单栏里的“文件->保存(或打开)”里的类型都是“所有文件(*.*)”,怎么样才能自定义文件后缀名呢? 在你创建单文档程序的第四步,哪里不是有个advanced选项吗。单击它,然后再...

    (转自:http://wenwen.soso.com/z/q274419303.htm

    用MFC的默认创建的单文档程序,菜单栏里的“文件->保存(或打开)”里的类型都是“所有文件(*.*)”,怎么样才能自定义文件后缀名呢?

    在你创建单文档程序的第四步,哪里不是有个advanced选项吗。单击它,然后再如图所示输入文件的后缀名,如txt,然后点Finish,效果如图,还有一种方法就是打开你的资源视图,点击字符串表,哪里不是有个ID为IDR_MAINFRAME,默认是Test\n\nTest\n\n\nTest.Document\nTest Document(注:Test是你输入的工程名),你可以在第三个\n后面输入,显示在保存类型的内容,在第四个\n后面输入过滤符,如.txt。

    至于通过代码修改的,我想不起来了,应该在CDocument类中吧,去查查MSDN吧,。

    追问:
    啊,我已经把整个程序都写好了,重新写太麻烦了,有其他改动办法么
    回答:

    打开你的资源视图,点击字符串表,哪里不是有个ID为IDR_MAINFRAME,默认是Test\n\nTest\n\n\nTest.Document\nTest Document(注:Test是你输入的工程名),dd\nguigui\ntxt\n.txt\n.txt\nMDI.Document\nMDI 跟着这个格式改,就可以了,没办法用代码实现。因为消息响应函数OnFileOpen中定义的文件对话框是局部对象。它是用IDR_MAINFRAME标示的字符串资源去填充CFileDialog的构造函数。根本无法获取到指针,看了半天的源代码,,晕啊、。

    补充:

    忘记给你把源代码发出来了,OnFileOpen是消息响应函数,响应你打开文件对话框的,保存对话框也一样的道理。下面是MFC的源代码。仔细看我加黑的那些代码调用,

    afx_msg void OnFileOpen();//这里是响应函数的申明,

    void CWinApp::OnFileOpen()
    {
     ASSERT(m_pDocManager != NULL);
     m_pDocManager->OnFileOpen();
    }你只看调用关系。这里调用文档类的OnFileOpen();

    void CDocManager::OnFileOpen()//文档类的OnFileOpen
    {
     // prompt the user (with all document templates)
     CString newName;
     if (!DoPromptFileName(newName, AFX_IDS_OPENFILE,
       OFN_HIDEREADONLY | OFN_FILEMUSTEXIST, TRUE, NULL))
      return; // open cancelled

     AfxGetApp()->OpenDocumentFile(newName);
      // if returns NULL, the user has already been alerted
    }

    //文档类里面只看它调用的DoPromptFileName方法,代码如下。

    BOOL CDocManager::DoPromptFileName(CString& fileName, UINT nIDSTitle, DWORD lFlags, BOOL bOpenFileDialog, CDocTemplate* pTemplate)
    {
     CFileDialog dlgFile(bOpenFileDialog);//仔细看这里

     CString title;
     VERIFY(title.LoadString(nIDSTitle));//这里加载字符串资源哦。。仔细看。

     dlgFile.m_ofn.Flags |= lFlags;

     CString strFilter;
     CString strDefault;
     if (pTemplate != NULL)
     {
      ASSERT_VALID(pTemplate);
      _AfxAppendFilterSuffix(strFilter, dlgFile.m_ofn, pTemplate, &strDefault);
     }
     else
     {
      // do for all doc template
      POSITION pos = m_templateList.GetHeadPosition();
      BOOL bFirst = TRUE;
      while (pos != NULL)
      {
       CDocTemplate* pTemplate = (CDocTemplate*)m_templateList.GetNext(pos);
       _AfxAppendFilterSuffix(strFilter, dlgFile.m_ofn, pTemplate,
        bFirst ? &strDefault : NULL);
       bFirst = FALSE;
      }
     }

     // append the "*.*" all files filter
     CString allFilter;
     VERIFY(allFilter.LoadString(AFX_IDS_ALLFILTER));
     strFilter += allFilter;
     strFilter += (TCHAR)'\0';   // next string please
     strFilter += _T("*.*");
     strFilter += (TCHAR)'\0';   // last string
     dlgFile.m_ofn.nMaxCustFilter++;

     dlgFile.m_ofn.lpstrFilter = strFilter;
     dlgFile.m_ofn.lpstrTitle = title;
     dlgFile.m_ofn.lpstrFile = fileName.GetBuffer(_MAX_PATH);

     int nResult = dlgFile.DoModal();
     fileName.ReleaseBuffer();
     return nResult == IDOK;
    }

    在上面看见了CFileDialog吗,程序员一般会,会心的一笑,因此证明,要改文件对话,只能通过资源,IDR_MAINFRAME改动。

    展开全文
  • 文件打开对话框具体如下,单独写过,运行没问题。但是加入到项目中,文件对话框就显示不出来。 ``` void CMainFrame::OnFileOpen() { // TODO: 在此添加命令处理程序代码 // 设置过滤器 TCHAR szFilter[] ...
  • 就是点击一个按钮,然后调出来一个txt文档或者word文档,假如在,C:\VC工程存放处\HouseSaleSystem\Demo下存在一个Demo.txt记事本文件怎么打开呢,求指点!!! 我这样写: FILE * file; file=fopen("C:\\...
  • [img=https://img-bbs.csdn.net/upload/201605/01/1462090213_783965.png][/img] 如图 我想通过点击“打开图像”按钮来选择本地图片然后显示在下面的图像框里 怎么实现呢? 谢谢啦!!!!
  • U盘文件乱码的解决方法01点击打开桌面上的计算机图标,接着将鼠标移至u盘图标,单击鼠标右键,在菜单中点击属性选项。02在弹出的u盘属性设置窗口中,点击切换至工具标签,继续点击开始检查按钮。03随后在磁盘检查...
  • 像这样的,大神们,请问怎么解决啊? ![图片说明](https://img-ask.csdn.net/upload/201704/05/1491388665_871763.png)
  • 使用打开文件对话框之后,打开了一个文件,(在下次打开之前/或结束一些操作不能Close),然后我想重新打开这个已经打开的这个文件,需要Close,但是在IDOK后Close不行,提示文件占用,但是我又想不执行IDOK不能...
  • 记事本中新建一个文件显示“文本文件1”,再新建一个显示“文本文件2”,但是文件没有保存啊,这是怎么做到的?
  • 如题,求大神给出具体方法,跪谢!我想点击按钮打开一个已有的excel文件,然后把这个表格中的其中几列内容读出来显示到list列表中,怎么实现?
  • 如题
  • 例如: 00000000h:11 22 33 44 .......... 怎么指定地址?怎么修改数据11为CC? 小弟新手 勿喷!谢谢大家,最好写代码教小弟
  • 要求打开多个文件时如图那样显示,并且可以点击叉号关闭,类似于浏览器选项卡那样,这种应该怎么实现呀(文件格式就按TXT,把TXT里面的内容输入到视图上)![图片说明]...
  • 通过点击按钮,打开文件对话框。将要上传的文件上传并显示在Listctrl控件上。
  • if(My_OpenFileDlg.DoModal()==IDOK){ CString FilePath=My_OpenFileDlg.GetPathName(); my_Player.put_URL(FilePath); GetMenu()->GetSubMenu(2)->EnableMenuItem(ID_Menu_FullScreen,MF_BYCOMMAND| MF_...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 187
精华内容 74
关键字:

怎么打开mfc文件