我有一个函数(在C中)从用户获取输入,(使用scanf)将它存储在unsigned int中,并将输入返回给处理它的其他函数:
unsigned
int input(void)
{
unsigned int uin;
scanf("%u", &uin);
return val;
}
我想知道,因为我应该刷新标准输入,我想使用getc进行while循环,对比:
while (getc != '\n') {
...
}
但是,我不确定如何:
A)在getc中执行操作,就像我应该如何处理检查并将值连接到每个获得的字符,或者,无论我是否要getc,然后从那里连接,完全删除scanf。
B)这是否是最合适的方式。
善良的人可以给我一些提示和指示:)
感谢。
答案 0 :(得分:4)
我将%*[^\n]
添加到scanf格式字符串的末尾。 *
表示它应该读取但忽略匹配的输入,[^\n]
表示除换行符之外的任何内容,就像在正则表达式中一样。