MFC应用程序使用控制台的方法

CreateFile函数除了可以新建和打开文件外,还可以建立Win32环境下的控制台缓冲。此时CreateFile函数的返回值是控制台缓冲的句柄。

至此得到了一个可用的输出控制台,可以用类似的方法得到一个输入控制台:

 

如果已经在程序的其他地方打开过控制台,可以用GetStdHandle()函数快速获得控制台句柄。GetStdHandle函数的唯一参数是一个DWORD标志,可能的取值有

STD_OUTPUT_HANDLE//获取输出控制台句柄
STD_INPUT_HANDLE//获取输入控制台句柄
STD_ERROR_HANDLE//获取错误输出控制台句柄

至此,就可以使用类似于读写磁盘文件的方法是用输入/输出控制台了。可以使用Write/ReadFile函数,更好的做法是使用Write/ReadConsole函数。微软给定解释是“Write/ReadFile”函数不支持Unicode。

MFC里还是不能使用cout和printf函数的,也就是说输出数据的格式化不那么方便。解决办法只能是使用CString的Format函数然后再GetBuffer。同样,输入的时候只能从输入缓冲里接收字符串,需要自己分离里面的数据。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章