Функция strcspn () в C / C ++
Опубликовано: 30 Декабря, 2021
Функция strcspn () в C / C ++ принимает в качестве входных данных две строки: string_1 и string_2 в качестве аргумента и выполняет поиск в строке_1 путем обхода любых символов, присутствующих в строке_2. Функция вернет длину строки_1, если ни один из символов строки_2 не найден в строке_1. Эта функция определена в заголовочном файле cstring.
Синтаксис:
size_t strcspn (константный символ * строка_1, константный символ * строка_2)
Параметры: функция принимает два обязательных параметра, которые описаны ниже:
- string_1: указывает строку для поиска
- string_2: указывает строку, содержащую символы, которые нужно сопоставить
Возвращаемое значение: эта функция возвращает количество символов, пройденных в строке_1 перед любым из символов, совпадающих с строкой_2.
Нижеприведенные программы иллюстрируют вышеуказанную функцию:
Программа 1:
// C++ program to illustrate the // strcspn() function #include <bits/stdc++.h> using namespace std; int main() { // String to be travered char string_1[] = "geekforgeeks456" ; // Search these characters in string_1 char string_2[] = "123456789" ; // function strcspn() traverse the string_1 // and search the characters of string_2 size_t match = strcspn (string_1, string_2); // if matched return the position number if (match < strlen (string_1)) cout << "The number of characters before" << "the matched character are " << match; else cout << string_1 << " didn't matched any character from string_2 " ; return 0; } |
Выход:
Количество символов перед совпадающим символом - 12.
Программа 2:
// C++ program to illustrate the // strcspn() function When the string // containing the character to be // matched is empty #include <bits/stdc++.h> using namespace std; int main() { // String to be travered char string_1[] = "geekforgeeks456" ; // Search these characters in string_1 char string_2[] = "" ; // Empty // function strcspn() traverse the string_1 // and search the characters of string_2 size_t match = strcspn (string_1, string_2); // if matched return the position number if (match < strlen (string_1)) cout << "The number of character before" << "the matched character are " << match; else cout << string_1 << " didn't matched any character from string_2 " ; return 0; } |
Выход:
geekforgeeks456 не соответствует ни одному символу из строки_2
Хотите учиться на лучших видео и практических задачах, ознакомьтесь с Базовым курсом C для базового и продвинутого C.