曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 5597|回复: 0
打印 上一主题 下一主题

ReadConsole()/WriteConsole() -- 读写控制台

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
跳转到指定楼层
楼主
发表于 2011-9-9 12:55:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-6-19 05:34 , Processed in 0.063465 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表