Выполнение строки начинается с / заканчивается в C - PullRequest
0 голосов
/ 23 сентября 2019

Чтобы узнать, содержит ли одна строка другую, я могу сделать:

strstr("this is my line of text", "th") != NULL;

Как мне проверить, начинается ли строка текста с подстроки?А что если строка заканчивается подстрокой?

1 Ответ

3 голосов
/ 23 сентября 2019

Начинается с:

strncmp(s, prefix, strlen(prefix)) == 0

(благодаря jamesdlin)

Хотя закончить с труднее.Вспомогательная функция:

/* return 0 for match, nonzero for no match */
int stringendswith(const char *s, const char *t)
{
    size_t slen = strlen(s);
    size_t tlen = strlen(t);
    if (tlen > slen) return 1;
    return strcmp(s + slen - tlen, t);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...