使用 scanf 要求出现某些单词

Require certain words to appear using scanf

我希望 scanf 只接受某个单词,例如,如果我想接受 foobar 从用户那里,我会这样写:

scanf(/*more input specifiers before and after*/ "%s[foo/bar]", demo);

只有当用户输入 foobar.

时,这将 return 1 并分配 demo 给用户输入

如何实现 scanf 的这种功能?

注意:应该与 C89 兼容,并且在使用 fscanf 时应该可以工作。

scanf()函数从stdin中读取数据,并根据参数格式将其存储到附加参数指向的位置。附加参数应指向已分配的对象,其类型由格式字符串中相应的格式说明符指定。

scanf() 的另一项工作是 returns 计算成功读取的项目数。它没有任何工作能力来比较给定的字符串,如 foo /OR/ bar.