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

Замена строки в подстроке на новую строку - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сравнение двух std::string на совпадение без учёта регистра http://www.cyberforum.ru/cpp-beginners/thread1790428.html
Нужно сравнить две строки на одинаковость, но без учёта регистра. Чтобы name и Name и NaME считывались как одинаковые. Как это сделать?
C++ Используя функции создать квадратную матрицу Всем доброго времени суток! Помогите разобраться как решить данное задание: "Написать, используя функции, программу, которая создает квадратную матрицу. Первоначальную матрицу нужно повернуть на 90 градусов". Вроде ничего сложного. Но какая функция создает матрицы? Указатели еще не изучали, поэтому просьба их не использовать. Заранее спасибо) http://www.cyberforum.ru/cpp-beginners/thread1790425.html
Перегрузка операторов "+" и "=" C++
Здравствуйте, пишу класс обработки массивов. Некорректно работают перегруженные оператора "+" и "=". При использовании оператора + - результат корректный, но программка виснет, а при "=" - выводит мусор. Уже несколько часов пишу его, и сейчас не могу понять в чем проблема... Прошу помощи. #include <iostream> #include <cstdlib> using namespace std;
C++ Удалить последний символ в массиве char
Здравствуйте, подскажите как удалить последний символ в массиве char ? Размер массива узнаю так: Text Добавлено через 3 минуты Нашел такую функцию: char* func(char* str, size_t n) { int len = strlen(str)-n; if(len>0)
C++ Dynamic_cast реализация http://www.cyberforum.ru/cpp-beginners/thread1790322.html
Добрый вечер, есть застоявшаясь фраза: "dynamic_cast<Type*>( pointer ) очень медленное, его лучше не использовать" . Примерная реализация данного оператора это внедрение в VTABLE метода virtual std::string type() const, ну и само приведение типа через dynamic_cast стоит: 1) обращение к полу VTABLE 2) вызов метода 3) сравнение строки: вызов 1-10 сравнений типов char Учитывая, что...
C++ Типы данных: постоянно выходят логические ошибки Помогите пожалуйста с реализацией.Постоянно выходят логические ошибки подробнее

Показать сообщение отдельно
Nigmatulin
 Аватар для Nigmatulin
0 / 0 / 0
Регистрация: 19.03.2016
Сообщений: 18
06.08.2016, 09:58     Замена строки в подстроке на новую строку
Все доброго времени суток. Я написал программу, которая в строке S ищет подстроку S1 и заменяет ее на строку S2, но написал я эту программу с небольшой помощью интернета Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
using namespace std;
int main ()
{
    setlocale (0, "");
    string str, str1, str2;
    int i=0, SecondStringSize = 0;
    cout<<"Введите первую строку: "; getline(cin, str);
    cout<<"Введите вторую строку: "; getline(cin, str1);
    cout<<"Введите третью строку: "; getline(cin, str2);
    SecondStringSize = str1.size();
    while (SecondStringSize != string::npos)
    {
        str.replace(SecondStringSize, str1.size(), str2);
        SecondStringSize = str.find(str1, SecondStringSize);
    }
    cout<<"Строка после обработки: "<<str<<endl;
    system("pause");
    return 0;
}
Хотелось бы, что бы мне доходчиво объяснили вот эту строку: SecondStringSize = str.find(str1, SecondStringSize);
Что-то до меня она туговато доходит. Я понял это так, что переменная SecondStringSize должна просто обновлять свое значение пока выполняется цикл ? Разъясните что да как в ней ))
Заранее спасибо
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru