我正在尝试检查用户输入的字符串中是否包含某个关键字。
这就是我在python中要做的事情。
keyword = "something"
user_input = input("Enter a something: ")
if keyword in user_input: # I don't know how to do this part
print("You entered something")
else:
print("You didn't enter something")
我该如何在C语言中做类似的事情?
答案 0 :(得分:5)
不完全相同,但是我能想到的最接近的是strstr()
#include <string.h>
char *strstr(const char *haystack, const char *needle);
strstr()
函数在字符串needle
中找到子字符串haystack
的第一个匹配项。
此函数返回一个指向子字符串开头的指针;如果找不到子字符串,则返回NULL
。
答案 1 :(得分:5)
您可以使用strstr()
在字符串中搜索子字符串。它不像Python的in
运算符那样通用(例如,strstr
不能用于检查给定值是否存储在数组中),但是它将解决您提出的问题。 / p>
例如(未试用):
const char *keyword = "something";
const char *user_input = input("Enter a something: "); // I'll leave this to you to implement
if (NULL != strstr(user_input, keyword)) {
printf("You entered something\n");
} else {
printf("You didn't enter something\n");
}