gpt4 book ai didi

c - 在C中的循环中读取回车键

转载 作者:太空狗 更新时间:2023-10-29 16:09:13 25 4
gpt4 key购买 nike

如何在循环中多次读取回车键?

我尝试了以下但没有结果。

char c;
for (i=0; i<n; i++){
c = getchar ();
fflushstdin ();
if (c == '\n'){
//do something
}
}

和 fflushstdin:

void fflushstdin (){
int c;
while ((c = fgetc (stdin)) != EOF && c != '\n');
}

如果我读取任何其他字符而不是回车键它工作完美,但使用回车键在某些迭代中我必须按回车键 2 次。

谢谢。

编辑:我在 Windows 上通过 putty 执行程序,程序在虚拟盒子上的虚拟化 linux mint 上运行。

最佳答案

为什么调用 fflushstdin()?如果 fgetc() 返回与\n 不同的内容,则该字符将被完全删除。

这应该有效:

char prev = 0;

while(1)
{
char c = getchar();

if(c == '\n' && prev == c)
{
// double return pressed!
break;
}

prev = c;
}

关于c - 在C中的循环中读取回车键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7144977/

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