Индексирование C: полное руководство для начинающих
Метод "indexOf()" является одним из наиболее часто используемых методов в работе с строками в языке программирования C. Этот метод используется для поиска первого вхождения заданного символа или подстроки в строке. Он возвращает индекс первого вхождения искомого элемента или -1, если вхождений не найдено.
Приведу примеры кода, демонстрирующие использование метода "indexOf()" в различных ситуациях:
Пример 1: Поиск первого вхождения символа в строке
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, World!";
char ch = 'o';
char *result = strchr(str, ch);
if (result != NULL) {
int index = result - str;
printf("Первое вхождение символа '%c' в строке '%s' найдено по индексу %d\n", ch, str, index);
} else {
printf("Символ '%c' не найден в строке '%s'\n", ch, str);
}
return 0;
}
Результат выполнения:
Первое вхождение символа 'o' в строке 'Hello, World!' найдено по индексу 4
Пример 2: Поиск первого вхождения подстроки в строке
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "The quick brown fox jumps over the lazy dog";
char substring[] = "brown";
char *result = strstr(str, substring);
if (result != NULL) {
int index = result - str;
printf("Первое вхождение подстроки '%s' в строке '%s' найдено по индексу %d\n", substring, str, index);
} else {
printf("Подстрока '%s' не найдена в строке '%s'\n", substring, str);
}
return 0;
}
Результат выполнения:
Первое вхождение подстроки 'brown' в строке 'The quick brown fox jumps over the lazy dog' найдено по индексу 10
Пример 3: Поиск всех вхождений символа в строке
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit";
char ch = 'i';
char *result = strchr(str, ch);
int count = 0;
while (result != NULL) {
count++;
int index = result - str;
printf("Вхождение символа '%c' найдено по индексу %d\n", ch, index);
result = strchr(result + 1, ch);
}
if (count == 0) {
printf("Символ '%c' не найден в строке '%s'\n", ch, str);
} else {
printf("Всего найдено %d вхождений символа '%c'\n", count, ch);
}
return 0;
}
Результат выполнения:
Вхождение символа 'i' найдено по индексу 6
Вхождение символа 'i' найдено по индексу 12
Всего найдено 2 вхождений символа 'i'
Примеры кода демонстрируют, как использовать метод "indexOf()" для поиска символа или подстроки в строке и получения их индекса. Этот метод может быть полезен во многих задачах, связанных с обработкой и анализом строк, в том числе при реализации алгоритмов поиска, замены и обработки данных.