我如何在这里了解法拉盛STDIN?

时间:2009-10-21 00:37:03

标签: c string input stdin

我有一个函数(在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)这是否是最合适的方式。

善良的人可以给我一些提示和指示:)

感谢。

1 个答案:

答案 0 :(得分:4)

我将%*[^\n]添加到scanf格式字符串的末尾。 *表示它应该读取但忽略匹配的输入,[^\n]表示除换行符之外的任何内容,就像在正则表达式中一样。