如何仅接受来自用户的特定字符输入在C中

时间:2018-04-11 18:25:20

标签: c input character

是否可以只接受来自用户In C的特定字符输入?

例如:
我对用户的输入只能包含ah$等特定字符。用户不能输入ah$以外的字符。 那是"ahhaa$"应该检查为true,"ahbd"应该检查为false。

如何在C中实现此功能?

2 个答案:

答案 0 :(得分:1)

假设您手头有输入字符串进行检查,您可以使用strspnstrspn将返回第一个参数的前缀长度,该参数完全由第二个参数中的字符组成。然后,您的检查可以查看返回的长度是否与输入的长度相匹配。

#include <stdbool.h>

bool check_input(const char *input) {
    size_t n = strspn(input, "ah$");
    return input[n] == '\0';
}

答案 1 :(得分:0)

不,不可能在stdin添加过滤器。您需要阅读输入,并自行过滤。