Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Поиск подстроки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как нарисовать график функции? http://www.cyberforum.ru/cpp-beginners/thread1117512.html
Привет всем. Учусь программированию всего пол года. И тут мне дают задание - написать программу для рисования графика функции y=x. Скажите, чтобы написать программу, нужны графические библиотеки? Я...
C++ Memcpy, buffer overflow. Может ли возникнуть ошибка в функции memcpy Бывает ли на практике такое, что код #define size 1000; // some value int x, y; /* ... */ memcpy(y, x, (size + 1) * sizeof(int)); y = 0;вызовет ошибку в функции memcpy? http://www.cyberforum.ru/cpp-beginners/thread1117493.html
C++ Наследование
Всем привет. Может кто нибудь подсказать с чего начать при создании класса для работы с файлами на подобии ostream( а точнее как правильно реализовать методы open, close,seek,read,write) и возможно...
Программа для расчета математического примера C++
Помогите пожалуйста с кодом программы,заранее спасибо.Пример 10
C++ Класс рациональных дробей http://www.cyberforum.ru/cpp-beginners/thread1117487.html
Разработать класс рациональных дробей. Предусмотреть в нём все методы, которые необходимы, чтобы новый тип данных мог быть использован наравне с системными типами: арифметические операции, операции...
C++ Вывести на консоль те строки, длина которых меньше (больше) средней, а также длину. Вывести на консоль те строки, длина которых меньше (больше) средней, а также длину. Собственно вот проблема..Мне помогали писать данную программу но она что-то все равно не работает. Она просто... подробнее

Показать сообщение отдельно
morphei
Сообщений: n/a

Поиск подстроки - C++

12.03.2014, 19:39. Просмотров 225. Ответов 0
Метки (Все метки)

Функция char* findPstr(char* str1, char* str2), получив строку str1, ищет в ней первую подстроку, равную строке str2. Если такая подстрока найдена, то функция через возвращаемое значение возвращает адрес найденной подстроки. Если подстрока не найдена, то функция возвращает 0.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
char* findPstr(char* str1, char* str2)
{
    int s=0;
    for(int i = 0;str1[i]!=0; i++)
    {
        
            if (str1[i]==str2[0]) 
            {   
                for(int n=1;str2[n]!=0;n++)
                {   
                    if (str2[n]!=str1[i+n]) s=1;
                }
                if(s==0) return str2; 
            }
            
    }
    return 0; 
        
}
если подстрока найдена, то всё ок, а если нет, то выдаёт: Необработанное исключение в "0x566dd540 (msvcr100d.dll)" в "tests.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000". и открывает strlen.asm
в чём проблема, как исправить? заранее спасибо.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru