gpt4 book ai didi

c - 从 stdin 非阻塞读取

转载 作者:可可西里 更新时间:2023-11-01 09:30:00 25 4
gpt4 key购买 nike

我希望 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)
{};
}

最佳答案

使用SetConsoleMode关闭 ENABLE_LINE_INPUT 标志。行编辑将不可用,但不会等到按下 Enter。

请注意,您不能将三个 WCHAR 读入一个 int

关于c - 从 stdin 非阻塞读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14680575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com