使用 scanf 要求出现某些单词
Require certain words to appear using scanf
我希望 scanf
只接受某个单词,例如,如果我想接受 foo
或 bar
从用户那里,我会这样写:
scanf(/*more input specifiers before and after*/ "%s[foo/bar]", demo);
只有当用户输入 foo
或 bar
.
时,这将 return 1 并分配 demo
给用户输入
如何实现 scanf
的这种功能?
注意:应该与 C89 兼容,并且在使用 fscanf
时应该可以工作。
scanf()
函数从stdin
中读取数据,并根据参数格式将其存储到附加参数指向的位置。附加参数应指向已分配的对象,其类型由格式字符串中相应的格式说明符指定。
scanf()
的另一项工作是 returns 计算成功读取的项目数。它没有任何工作能力来比较给定的字符串,如 foo /OR/ bar
.
我希望 scanf
只接受某个单词,例如,如果我想接受 foo
或 bar
从用户那里,我会这样写:
scanf(/*more input specifiers before and after*/ "%s[foo/bar]", demo);
只有当用户输入 foo
或 bar
.
demo
给用户输入
如何实现 scanf
的这种功能?
注意:应该与 C89 兼容,并且在使用 fscanf
时应该可以工作。
scanf()
函数从stdin
中读取数据,并根据参数格式将其存储到附加参数指向的位置。附加参数应指向已分配的对象,其类型由格式字符串中相应的格式说明符指定。
scanf()
的另一项工作是 returns 计算成功读取的项目数。它没有任何工作能力来比较给定的字符串,如 foo /OR/ bar
.