Есть ли эквивалент в ключевом слове "in" в python для C - PullRequest
2 голосов
/ 27 июня 2019

Я пытаюсь проверить, есть ли определенное ключевое слово в строке, введенной пользователем.

Так я бы сделал это в 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?

Ответы [ 2 ]

5 голосов
/ 27 июня 2019

Вы можете использовать strstr() для поиска подстроки в строке.Он не такой универсальный, как оператор Python in (например, strstr не может быть использован для проверки того, хранится ли данное значение в массиве), но он решит проблему, которую вы представили.

Например (не проверено):

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");
}
5 голосов
/ 27 июня 2019

Не совсем то же самое, но самое близкое, о чем я могу подумать, это strstr()

#include <string.h>
char *strstr(const char *haystack, const char *needle);

Функция strstr() находит первое вхождение подстроки needle встрока haystack.

Эта функция возвращает указатель на начало подстроки или NULL, если подстрока не найдена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...