ReadFile() 和 WriteFile() 函数可以用来操作控制台 I/O,但使用另外两个特定的控制台 I/O 函数 ReadConsole()/WriteConsole() 则会显得更简单些,这两个函数的主要优势有:有些喊出处理通用字符(TCHAR)而不是字节,它们也按照控制台的模式(控制台模式由 SetConsoleMode() 函数设置) 来处理字符。
ReadConsole() 原型为:
[Plain Text] 纯文本查看 复制代码 BOOL WINAPI ReadConsole(
__in HANDLE hConsoleInput,
__out LPVOID lpBuffer,
__in DWORD nNumberOfCharsToRead,
__out LPDWORD lpNumberOfCharsRead,
__in_opt LPVOID pInputControl
);
WriteConsole() 原型为:
[Plain Text] 纯文本查看 复制代码 BOOL WINAPI WriteConsole(
__in HANDLE hConsoleOutput,
__in const VOID *lpBuffer,
__in DWORD nNumberOfCharsToWrite,
__out LPDWORD lpNumberOfCharsWritten,
__reserved LPVOID lpReserved
);
这两个函数和 ReadFile() 及 WriteFile() 很相似。ReadFile() 和 ReadConsole() 中的参数几乎一样,两个长度参数都是以通用字节为单位而不是字节,ReadConsole() 最后一个参数为保留参数,必须为 NULL 。
示例:http://www.groad.net/bbs/read.php?tid-4657.html |