Win32控制台应用程序怎样使用MFC中的CFile类?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Win32控制台应用程序怎样使用MFC中的CFile类?相关的知识,希望对你有一定的参考价值。
参考技术A 非MFC工程使用MFC库时,可参考以下步骤1、工程设置中,将MFC的使用由原来的“使用标准windows库”改为“在共享DLL中使用MFC”(VC71)
如果是英文版,相关选项是:
Microsoft
Foundation
Classes:
Use
MFC
in
a
shared
dll,
no
using
MFC(VC6)
2、头文件包含
不同的MFC类需包含的头文件是不一样的。
常用的类,如Cstring,
Cedit
等,包含afxwin.h就可以了
使用CFile类,则包含afx.h
如果不清楚包含什么头文件的话,可以同msdn进行查询,msdn中,对于MFC类的介绍中,都会给出相应的header
file
requirement.
3、#include
语句一定要写在首行
另外还要注意的是,如果#include语句是在一个头文件里,那么对应头文件的包含也要写在首行。示例如下:
=============
test.h文件的内容如下:
#include
<afxwin.h>
//保证该语句在首行
test.cpp的文件内容如下:
#include
“test.h”
//同样也要保证该语句在首行
=============
如果要用CFile
就#include
<afx.h>
在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?
// 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");
以上是关于Win32控制台应用程序怎样使用MFC中的CFile类?的主要内容,如果未能解决你的问题,请参考以下文章
vc,mfc,api,windows编程,win32(sdk),gui学习的顺序是怎样的,本人迷茫中!!
如何在 Visual C++ 2008 中将 MFC 应用程序项目添加到 Win32 应用程序项目
VS2008新建MFC程序时提示:当前页面的脚本发送错误 不是有效的Win32应用程序的解决办法