MFC怎么用CFileDialog打开一个txt文件,直接用系统自带的记事本打开就行~

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC怎么用CFileDialog打开一个txt文件,直接用系统自带的记事本打开就行~相关的知识,希望对你有一定的参考价值。

MFC中点击一个button,然后如题,网上的程序:不行哈:
CFileDialog fileDlg(TRUE);
fileDlg.m_ofn.lpstrTitle="我的文件打开对话框";
fileDlg.m_ofn.lpstrFilter="Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0";

if(IDOK==fileDlg.DoModal())

CFile file(fileDlg.GetFileName(),CFile::modeRead);
char *pBuf;
DWORD dwFileLen;
dwFileLen=file.GetLength();
pBuf=new char[dwFileLen+1];
pBuf[dwFileLen]=0;
file.Read(pBuf,dwFileLen);
file.Close();
MessageBox(pBuf);
求指点改错~

参考技术A 上面的代码是读入文本文件的内容没错,只不过它是把文件内容存放在数组pBuf中,用MessageBox输出。理论上没错。不知道程序编译通过了没。楼主可以把运行结果情况说一下。
如果只是用系统带的记事本打开就可以的话有一个很简单的方法。c函数库里面有一个system(const char * cmd);函数相当于在cmd里面执行一条命令行。头文件为:stdlib.h。
你在按钮响应函数里面加入代码system(“notepad.exe *.txt”);其中*.txt为文件的全路径,如果你会用字符串格式函数就可以用上面文件打开对话框里面得到的文件全路径代替,这样你选哪个就会打开哪个。
你可以先在cmd界面里面试一下用记事本程序打开某个txt文件。本回答被提问者和网友采纳
参考技术B 你应该这样在网上搜一下“vc如何调用记事本”,因为你获取文件后需要调用记事本打开文件,因此需要知道如何使用vc调用记事本打开文件。

在mfc下怎么调用一个win32控制台?并且自动向该控制台输入一段信息?

用WinExec()函数。
详细说明见
http://baike.baidu.com/view/1286882.htm
例如调用系统的notepad.exe程序打开C:\\test.txt文件
WinExec("notepad.exe C:\\test.txt", SW_SHOW );
第一个字符串参数里面要调用的程序和变量用空格分隔追问

可以打开控制台了,但是我想打开控制台的同时自动输入“d://text"并回车,怎么办?

追答

打开控制台后就不能再自动往控制台输入信息了,要输入的只能通过WinExec的第一参数的字符串里面输入,你可以有多个参数,通过控制台程序Main()函数的argv变量访问

追问

不行啊 我输入WinExec("某某.exe d://text",SW_SHOW);
虽然那个exe调用出来了
但是并没有接收"d://text"这个参数
我的控制台文件时这么写的:
int main(int argc, char* argv[])

argv显示依然是某某.exe文件的路径啊?why?

参考技术A int nRetCode = 0;

// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))

// TODO: change error code to suit your needs
cerr << _T("Fatal Error: MFC initialization failed") << endl;
nRetCode = 1;

else

// TODO: code your application's behavior here.
CString strHello;
strHello.LoadString(IDS_HELLO);
cout << (LPCTSTR)strHello << endl;
参考技术B 用system 加cmd命令
例如 system("test.exe name pass");

以上是关于MFC怎么用CFileDialog打开一个txt文件,直接用系统自带的记事本打开就行~的主要内容,如果未能解决你的问题,请参考以下文章

MFC读取文件中利用CFileDialog类打开文件,出现对话框后,点击取消出现问题

MFC中CFileDialog使用方法

MFC中想实现打开文件或文件夹,该怎么实现呢

MFC CFileDialog的问题...

MFC下怎样获取一个txt文件的当前路径

MFC CFileDialog 只打开选择文件