Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
 Аватар для katena88
6 / 2 / 0
Регистрация: 25.10.2010
Сообщений: 86

Поиск в строках с помощью strstr

27.10.2010, 14:56. Показов 3496. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите блондинке!!!

как воспользоваться функцией char *strstr(const char *s1, const char *kor);
если мне потом нужно все совпадения вывести на экран то что писать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.10.2010, 14:56
Ответы с готовыми решениями:

Найти совпадения в строках с помощью regex
Всем привет. Нужно найти совпадения в строках. Если rx присваиваю вручную, то работает. std::tr1::regex rx("Hell") ...

Поиск в строках
Помогите пожалуйста найти самое короткое слово в предложении из всех слов с длиной не менее 4 символов.

Поиск строки в строках
Работаю с MFC, классом CString. Даны строчки "http://localhost/123/favicon.ico", "http://localhost/123/24/SERVER.exe"... хранящие...

9
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
27.10.2010, 15:09
вот так будет печатать с начала найденного фрагмента до конца строки.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <string.h>
 
int main()
{
        char string[] = "locate substring example. cat all occurrences";
        char *ptr = string;
 
        while((ptr = strstr(ptr, "cat")) != NULL) {
                printf("%s\n", ptr++);
        }
 
        return 0;
}
Результат работы:
cate substring example. cat all occurrences
cat all occurrences
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
27.10.2010, 15:16
Цитата Сообщение от katena88 Посмотреть сообщение
если мне потом нужно все совпадения вывести на экран
не очень понятная формулировка... попробую угадать:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <string.h>
 
int main(void){
    const char * strA = "abcdefabcdefabcdef";
    const char * strB = "abc";
    char * p;
    int cnt;
 
    printf("A: %s\n", strA);
    printf("B: %s\n", strB);
 
    printf("B     SUBSTRING OF A\n------------------------------\n");
    for ( cnt = 0, p = strstr(strA, strB); p; ++cnt, p = strstr(p + 1, strB) )
        printf("%-6s%s\n", strB, p);
    printf("------------------------------\n%d matches.\n", cnt);
 
    return 0;
}
оно?
0
 Аватар для katena88
6 / 2 / 0
Регистрация: 25.10.2010
Сообщений: 86
27.10.2010, 16:07  [ТС]
у меня есть массив char slova[20][20] в нем слова
мне нужно ввести корень с клавиатуры и все совпадения вывести на экран

Добавлено через 9 минут
Цитата Сообщение от fasked Посмотреть сообщение
вот так будет печатать с начала найденного фрагмента до конца строки.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <string.h>
 
int main()
{
        char string[] = "locate substring example. cat all occurrences";
        char *ptr = string;
 
        while((ptr = strstr(ptr, "cat")) != NULL) {
                printf("%s\n", ptr++);
        }
 
        return 0;
}
Результат работы:
Я изучаю язык Си всего 2ой день. Не мог бы ты написать все как для полного чайника
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
27.10.2010, 16:15
Цитата Сообщение от katena88 Посмотреть сообщение
у меня есть массив char slova[20][20]
не лучший способ хранить массив строк... так как-нибудь
C
1
2
3
4
5
6
7
8
9
#include <stdio.h>
#include <string.h>
...
char slova[20][20] = { /* каким-либо образом заполненный массив */ };
char koren[20] = { /* то, что нужно искать */ };
int i;
for ( for i = 0; i < 20; ++i )
  if strstr(slova + 20 * i, koren)
    printf("%s\n", slova + 20 * i;
не проверял
1
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
27.10.2010, 16:20
Цитата Сообщение от katena88 Посмотреть сообщение
Не мог бы ты написать все как для полного чайника
исходя из объяснений задания могу сказать Вам, что такой вариант не подойдет. так что, есть ли смысл?
0
 Аватар для katena88
6 / 2 / 0
Регистрация: 25.10.2010
Сообщений: 86
27.10.2010, 16:35  [ТС]
Цитата Сообщение от easybudda Посмотреть сообщение
не лучший способ хранить массив строк... так как-нибудь
не проверял
спасибо ограмное!!! еще 1 глупый вопросик:
а как в строчку распечатать??
0
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
27.10.2010, 16:40
Цитата Сообщение от katena88 Посмотреть сообщение
а как в строчку распечатать??
Цитата Сообщение от easybudda Посмотреть сообщение
printf("%s\n", slova + 20 * i;
убрать символ конца строки '\n '
C
1
printf("%s ", slova + 20 * i);
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
27.10.2010, 16:41
Цитата Сообщение от katena88 Посмотреть сообщение
спасибо ограмное!!!
получилось?

Цитата Сообщение от katena88 Посмотреть сообщение
а как в строчку распечатать??
C
1
2
...
printf("%s ", slova + 20 * i);
1
 Аватар для katena88
6 / 2 / 0
Регистрация: 25.10.2010
Сообщений: 86
27.10.2010, 16:43  [ТС]
Цитата Сообщение от easybudda Посмотреть сообщение
получилось?

[[/C]
вот что я сделала:

C
1
2
3
4
for ( i = 0; i < 20; ++i )
{
    if (strstr(slova[i], kor))  printf("%s\n", slova[i]);
}
Да все получилось!!!! Спасибо ОГРОМНОЕ приОГРОМНОЕ!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.10.2010, 16:43
Помогаю со студенческими работами здесь

Поиск в строках файла
Можете помочь с заданием ? Задан текстовый файл. В каждой строке файла найти слова з наибольшим количеством гласных букв. Заранее...

Поиск максимума в строках матрицы
Здравствуй...Помги пожалуйста решить задачу..Что бы было простое решения,можно несколько решений и желательно простых.....(с полными...

Поиск чисел в строках файла
Во входном файле in.txt содержатся две строчки целых чисел, например: -1 5 -7 -3 9 4 3 5 4 6 -7 2 10 -7 Строчки могут иметь...

Поиск подстроки в двух строках
Суть такая, вводим 2 строки, программа должна найти максимальную подстроку из двух строк... Пример leybar //1 строка hey //2ая ...

Матрица, поиск наименьешего в строках
Здравствуйте! Проблема ( Задача: Дана матрица nxm, определить наименьшие числа в строках. Вот мой код: #include &lt;iostream&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru