MFC应用程序使用控制台的方法
来源:互联网 发布:水果销售软件 编辑:程序博客网 时间:2024/05/22 16:58
CreateFile函数除了可以新建和打开文件外,还可以建立Win32环境下的控制台缓冲。此时CreateFile函数的返回值是控制台缓冲的句柄。view plaincopy to clipboardprint?
HANDLE console_write=CreateFile("CONOUT$",//系统控制台缓冲文件
GENERIC_READ|GENERIC_WRITE,//要读/写控制台缓冲文件,必须以读/写方式打开
FILE_SHARE_READ|FILE_SHARE_WRITE,//如果多个线程要共享这个输出控制台,就要设置共享标志
NULL,//文件安全属性,这里为NULL
OPEN_EXISTING,//无论是输出控制台还是输入控制台,都要使用OPEN_EXISTING标志
NULL,//被忽略的参数
NULL);//被忽略的参数
HANDLE console_write=CreateFile("CONOUT$",//系统控制台缓冲文件
GENERIC_READ|GENERIC_WRITE,//要读/写控制台缓冲文件,必须以读/写方式打开
FILE_SHARE_READ|FILE_SHARE_WRITE,//如果多个线程要共享这个输出控制台,就要设置共享标志
NULL,//文件安全属性,这里为NULL
OPEN_EXISTING,//无论是输出控制台还是输入控制台,都要使用OPEN_EXISTING标志
NULL,//被忽略的参数
NULL);//被忽略的参数
至此得到了一个可用的输出控制台,可以用类似的方法得到一个输入控制台:
view plaincopy to clipboardprint?
HANDLE console_read=CreateFile("CONIN$",//注意输入控制台的缓冲文件变成了"CONIN$"
GENERIC_READ|GENERIC_WRITE,//以下同输出控制台
FILE_SHARE_READ|FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
NULL,
NULL);
HANDLE console_read=CreateFile("CONIN$",//注意输入控制台的缓冲文件变成了"CONIN$"
GENERIC_READ|GENERIC_WRITE,//以下同输出控制台
FILE_SHARE_READ|FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
NULL,
NULL);
如果已经在程序的其他地方打开过控制台,可以用GetStdHandle()函数快速获得控制台句柄。GetStdHandle函数的唯一参数是一个DWORD标志,可能的取值有
STD_OUTPUT_HANDLE//获取输出控制台句柄
STD_INPUT_HANDLE//获取输入控制台句柄
STD_ERROR_HANDLE//获取错误输出控制台句柄
至此,就可以使用类似于读写磁盘文件的方法是用输入/输出控制台了。可以使用Write/ReadFile函数,更好的做法是使用Write/ReadConsole函数。微软给定解释是“Write/ReadFile”函数不支持Unicode。
view plaincopy to clipboardprint?
char * buffer={"Hello Console World!/n"};
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE),//获得输出控制台句柄
buffer,//要输出内容的缓存
strlen(buffer),//缓存长度
NULL,NULL
);
char * buffer={"Hello Console World!/n"};
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE),//获得输出控制台句柄
buffer,//要输出内容的缓存
strlen(buffer),//缓存长度
NULL,NULL
);
MFC里还是不能使用cout和printf函数的,也就是说输出数据的格式化不那么方便。解决办法只能是使用CString的Format函数然后再GetBuffer。同样,输入的时候只能从输入缓冲里接收字符串,需要自己分离里面的数据。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/shwneo/archive/2009/05/10/4165388.aspx
- MFC应用程序使用控制台的方法
- MFC应用程序使用控制台的方法
- 控制台程序使用MFC类的方法
- 控制台程序使用MFC类的方法
- 控制台程序使用mfc库的方法
- win32控制台程序中,使用MFC的方法
- 控制台console使用MFC库函数,Cout输出CString的方法
- win32控制台程序中,使用MFC的方法
- 在应用程序中调用控制台的方法
- C#取得控制台应用程序的根目录方法
- MFC中添加控制台的方法
- MFC退出应用程序的方法
- 控制台应用程序使用Cstring的用法
- MFC显示控制台方法
- MFC 应用程序指针的使用
- MFC中使用控制台
- MFC使用控制台界面
- MFC使用控制台
- 用vc下载和获取远程文件大小
- 精通javascript (一)
- 怎么获得控制台程序输出
- 用什么方法调用控制台程序,同时做到:1.隐藏控制台窗口;2.获取控制台程序的exit status
- 快速打开管理工具(开始 -->运行)
- MFC应用程序使用控制台的方法
- Silverlight实例教程 - Out of Browser开篇
- wincapp
- 【其它】【RQNOJ】哥德巴赫猜想(Easy)
- 如果想念一个人,就响两下他/她的手机。
- 学会高傲的活着
- 我爸说:是时候和你谈论女人的问题了
- ora-603 ora-27504
- 如果有一天我们也变成了异地恋,请记住这篇日志!