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

Функции для работы со строками - получение символа строки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Непобедимый `multiple definition` http://www.cyberforum.ru/cpp-beginners/thread1568745.html
Доброго времени суток. Решил отрефакторить довольно большой проект, уже 10 раз пожалел что взялся за это дело :) не могу победить чертов multiple definition, которого в явном виде нет. Весь проект (библиотека) условно разбит на три части: Публичная часть - заголовки для подключения в других проектах; Приватная часть - для сборки релиза библиотеки; Группа приватных классов,...
C++ Ошибка в коде метода прогонки (Метод прогонки) Ответ выводит неправильный #include <iostream> #include <iomanip> #include <math.h> using namespace std; /* 4 http://www.cyberforum.ru/cpp-beginners/thread1568739.html
C++ Произведение элементов одномерного массива с использованием рекурсивной функции
Пожалуйста помогите решите задачу: Произведение элементов одномерного массива с помощью рекурсивной функции.
C++ Обращение к списку ссылок
class A { public: int x; }; int main() { list<A * >L; for(auto i = L.begin(); i != L.end(); ++i)
C++ Структура "Товар" http://www.cyberforum.ru/cpp-beginners/thread1568700.html
Информацию про торговлю товарами включает наименования товара, дату, тип операции(импорт или экспорт), сумму операций. Определить общие объемы импорта и экспорта, их соотношение, а еще наименование товара, по которому импорт больше всего превосходит экспорт в относительном выражение. Помогите пожалуйста, вообще не знаком со структурами, в интернете по сути ничего не нарыл. Если кто подскажет...
C++ Как вывести побочную диагональ квадратной матрицы? Подскажите как вывести побочную диагональ квадратной матрицы? подробнее

Показать сообщение отдельно
ilyadenisovid
29 / 44 / 8
Регистрация: 20.03.2013
Сообщений: 151
02.11.2015, 12:38  [ТС]     Функции для работы со строками - получение символа строки
Спасибо. Но пока решил сам сделать аналог str_replace в php.
Вот что вышло(компилятор ошибок не выдает, но почему-то не работает):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
string str_replace(string str, string old_str, string new_str) {
    int length_str = sizeof(str) / sizeof(str[0]);
    int length_old_str = sizeof(old_str) / sizeof(old_str[0]);
    if (length_str < length_old_str) return str;
    string result_set = str;
    for (int i = 0; i < length_str; i++) {
        for (int j = 0; j < length_old_str; j++) {
            if (str[i] == old_str[j]) {
                if ((j + 1) == length_old_str) result_set.replace(i, length_old_str, new_str);
            }
            else break;
        }
    }
    return result_set;
}
Подскажите ,если не сложно.

Добавлено через 22 минуты
Ой, там с ошибкой, вот правильное, но не работает почему-то. Компилятор молчит
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
string str_replace(string str, string old_str, string new_str) {
    int length_str = sizeof(str) / sizeof(str[0]);
    int length_old_str = sizeof(old_str) / sizeof(old_str[0]);
    if (length_str < length_old_str) return str;
    string result_set = str;
    for (int i = 0; i < length_str; i++) {
        int start;
        for (int j = 0; j < length_old_str; j++) {
            if (str[i] == old_str[j]) {
                if (old_str[j] == 0) start = str[i];
                if ((j + 1) == length_old_str) result_set.replace(start, length_old_str, new_str);
            }
            else break;
        }
    }
    return result_set;
}
 
Текущее время: 12:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru