我希望在读取特定字节数后返回ReadConsoleW()
。
但它并没有回归。
如果在完成读取指定的字节数后,如何使ReadConsoleW()
返回?
我试过的代码在这里:
#include <stdio.h>
#include <Windows.h>
int main()
{
//something is being written to stdin.
Sleep(2000);
int b;
int r;
//read 3 wide character
ReadConsoleW(GetStdHandle(STD_INPUT_HANDLE), &b, 3*sizeof(TCHAR), (LPDWORD)&r, NULL);
//problem: no returns until enter pressed
putc(b,stdout);
while(1)
{};
}
答案 0 :(得分:2)
使用SetConsoleMode
关闭ENABLE_LINE_INPUT
标志。没有行编辑可用,但它不会等到按下Enter键。
请注意,您无法将WCHAR
三个int
读入{{1}}。
答案 1 :(得分:0)
使用ReadFile / WriteFile考虑Windows中的异步I / O. 见MSDN on asynchronous I/O
这有点复杂,但你确实拥有你想要的东西。