曲径通幽论坛

标题: ReadConsole()/WriteConsole() -- 读写控制台 [打印本页]

作者: beyes    时间: 2011-9-9 12:55
标题: ReadConsole()/WriteConsole() -- 读写控制台
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




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2