相关疑难解决方法(0)

从标准输入中捕获字符,无需等待按下输入

我永远不会记得我是怎么做的,因为它对我来说很少见.但是在C或C++中,从标准输入读取字符而不等待换行符的最佳方法是什么(按回车键).

理想情况下,它也不会将输入字符回显到屏幕上.我只想捕捉击键而不影响控制台屏幕.

c c++ inputstream

163
推荐指数
11
解决办法
19万
查看次数

setvbuf无法使stdin无缓冲

我的主要目的是在getchar获得角色后立即返回,而不是等待ENTER密钥.我试过这个

int main()
{
    setvbuf(stdin,NULL,_IONBF,0);
    getchar();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

将其与原型进行比较 setvbuf

setvbuf ( FILE * stream, char * buffer, int mode, size_t size );
Run Code Online (Sandbox Code Playgroud)

它应该设置stdin为无缓冲模式.

但仍然getchar()在等待ENTER

我见过这样的相关帖子

在C中读取字符时打印

这表明制作stdin无缓冲的替代方法.但我很想知道为什么setvbuf方法不起作用

c buffer stdin getchar unbuffered

10
推荐指数
1
解决办法
6580
查看次数

标签 统计

c ×2

buffer ×1

c++ ×1

getchar ×1

inputstream ×1

stdin ×1

unbuffered ×1