【发布时间】:2011-04-13 12:28:46
【问题描述】:
现在我读到了一些:
scanf() 转换 %[\n] 将 匹配换行符,而 %[^\n] 将匹配所有字符 换行符。
但是在下面的代码中:
#include<stdio.h>
int main() {
printf("Enter Something: ");
char name[100];
scanf("%99[help]", name);
printf("%s",name);
}
当我输入help me 时我没有遇到任何问题,因为打印的单词是help。但是,当我输入 I need help 时,它会打印垃圾。请帮助如何解决这个问题?
我的目标是匹配输入中任意位置输入的单词help,例如,
"This is a test, i need help in this"
应该检测到help。
【问题讨论】:
-
你可以写
%[\n]并不意味着你可以写%[help]。您正在得出结论并做出假设:编程不好! (我什至不相信它对\n有效。)您实际上想在这里实现什么? -
我说的是模式匹配。
-
@NabinSur:你实际上想在这里实现什么?