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。同樣,輸入的時候只能從輸入緩衝裏接收字符串,需要自己分離裏面的數據。

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