CreateFile函数除了可以新建和打开文件外,还可以建立Win32环境下的控制台缓冲。此时CreateFile函数的返回值是控制台缓冲的句柄。
至此得到了一个可用的输出控制台,可以用类似的方法得到一个输入控制台:
如果已经在程序的其他地方打开过控制台,可以用GetStdHandle()函数快速获得控制台句柄。GetStdHandle函数的唯一参数是一个DWORD标志,可能的取值有
STD_OUTPUT_HANDLE//获取输出控制台句柄
STD_INPUT_HANDLE//获取输入控制台句柄
STD_ERROR_HANDLE//获取错误输出控制台句柄
至此,就可以使用类似于读写磁盘文件的方法是用输入/输出控制台了。可以使用Write/ReadFile函数,更好的做法是使用Write/ReadConsole函数。微软给定解释是“Write/ReadFile”函数不支

本文介绍了如何在MFC应用程序中利用CreateFile函数创建控制台缓冲,从而实现对控制台的读写操作。通过指定不同的文件名(如"CONOUT$"和"CONIN$"),可以分别获取输出和输入控制台的句柄。同时,文章提到了GetStdHandle函数作为另一种获取已有控制台句柄的方式,并推荐使用Write/ReadConsole函数进行更高效的操作,因为它们支持Unicode。然而,MFC并不直接支持cout和printf,建议使用CString的Format函数配合GetBuffer来格式化输出。

1520

被折叠的 条评论
为什么被折叠?



