С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

создать функцию-аналог strstr, strchr - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Добавление виртуалной функции и переопределенную функцию http://www.cyberforum.ru/cpp-beginners/thread768554.html
Помогите пожалуйста реализовать данное задание с нижеуказанным кодом( Очень прошу) Заранее благодарна) Добавьте в состав класса виртуальную функцию просмотра текущего объекта print (), а в...
C++ Программа для расчета логарифма Написать программу , которая считает логарифм , первое число основание , второе степень. http://www.cyberforum.ru/cpp-beginners/thread768531.html
Ввод строки из 10 символов в консоли C++
Необходимо ввести в консольном приложении строку из 10 символов , и сделать так чтобы программа выводила эту же строку из 10 символов ,но между символами стоят точки.За любую помощь ,буду очень...
Проверка ввода данных в консоле C++
Доброй ночи Столкнулся с такой проблемой Написал программу "Даны натуральные n, действительное x. Вычислить: sinx + sinx^2+...+sinx^n" Требуется ввести только цифры Если я ввожу не цифровые...
C++ tagVARIANT в массив http://www.cyberforum.ru/cpp-beginners/thread768517.html
Есть функция из DLL: GetMediaDevices() возвращает тип tagVARIANT, внутри которого находится массив UserType. Как реализовать на C++(Borland) такое: UserType t=(UserType)GetMediaDevices(); ? В...
C++ Сортировка пузырьком //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #define N 9 #include "Unit1.h" ... подробнее

Показать сообщение отдельно
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
22.01.2013, 20:52
strstr(). Кастовать - конечно, не самый лучший вариант. Требует теста.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream> 
#include <cstring>
namespace mystd
{
    char *strstr(const char *str, const char *substr)
    {
        do {
            if (*str == *substr)
            {
                const char* buf = substr;
                int k(0);
                while(*str == *buf++ && *str)
                {
                    str++;
                    k++;
                }
                if (k == strlen(substr))
                    return const_cast<char*>(str-k);    
            }
        } while (*str++);
        return NULL;
    }
}
int main()
{
    const char *str = "hello world";
    char *str_2 = mystd::strstr(str, "or");
    std::cout<<str_2;
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.