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

Заменить все вхождения str1 на str2 (str1 вводится из файла, а str2 - с клавиатуры) - C++

Восстановить пароль Регистрация
 
nurtay1994
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 12
21.04.2013, 08:35     Заменить все вхождения str1 на str2 (str1 вводится из файла, а str2 - с клавиатуры) #1
заменить все вхождения подстроки str1 на подстроку str2; строка str1 вводится из файла, а строка str2 с клавиатуры {Ha C++}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2013, 08:35     Заменить все вхождения str1 на str2 (str1 вводится из файла, а str2 - с клавиатуры)
Посмотрите здесь:

Написать и протестировать функцию STR_CMP(str1,str2) C++
C++ Написать програму которая заменяет все Enter и Tab в строке str1 на сымволи '\n' и '\t' в строке str2.
Заменить в строке все вхождения подстроки str1 на подстроку str2 C++
C++ Функция: проверить, является ли строка str1 подстрокой строки str2
C++ Функцию, которая получает два параметра str1 и str2 типа string и возвращает позицию начала последнего появления str2 в str1
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
21.04.2013, 12:14     Заменить все вхождения str1 на str2 (str1 вводится из файла, а str2 - с клавиатуры) #2
nurtay1994, так str1 и str2 - это строки или подстроки? Пример можно?
nurtay1994
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 12
21.04.2013, 12:47  [ТС]     Заменить все вхождения str1 на str2 (str1 вводится из файла, а str2 - с клавиатуры) #3
подстроки!
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
21.04.2013, 13:10     Заменить все вхождения str1 на str2 (str1 вводится из файла, а str2 - с клавиатуры) #4
Пример конкретный можно?
Здесь не совсем ясно. Может, из файла берется какая-то строка (а не подстрока str1), в ней могут быть подстроки str1 и их нужно заменить на str2?
nurtay1994
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 12
21.04.2013, 13:47  [ТС]     Заменить все вхождения str1 на str2 (str1 вводится из файла, а str2 - с клавиатуры) #5
Цитата Сообщение от BumerangSP Посмотреть сообщение
Пример конкретный можно?
Здесь не совсем ясно. Может, из файла берется какая-то строка (а не подстрока str1), в ней могут быть подстроки str1 и их нужно заменить на str2?
Из файла берётся какая-то строка, и мне нужно заменить в этой-же строке все вхождения подстроки str1 на подстроку str2. (подстрока str1 вводится из файла, а подстрока str2 с клавиатуры)
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
21.04.2013, 14:41     Заменить все вхождения str1 на str2 (str1 вводится из файла, а str2 - с клавиатуры) #6
Вот вам алгоритм, ввод с файла и с клавиатуры уже сами делайте:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
 
int main()
{
    std::string where = "Quickly and easily develop desktop, mobile and web webands applications";
    std::string what = "and";
    std::string that = "******";
    for (std::string::size_type pos = 0; (pos = where.find(what, pos)) != std::string::npos; where.insert(pos, that))
        where.erase(pos, what.size());
    std::cout<<where<<"\n";
    
    std::cout<<"\n";
    return 0;
}
nurtay1994
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 12
26.04.2013, 05:50  [ТС]     Заменить все вхождения str1 на str2 (str1 вводится из файла, а str2 - с клавиатуры) #7
Цитата Сообщение от yuron_477 Посмотреть сообщение
Вот вам алгоритм, ввод с файла и с клавиатуры уже сами делайте:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
 
int main()
{
    std::string where = "Quickly and easily develop desktop, mobile and web webands applications";
    std::string what = "and";
    std::string that = "******";
    for (std::string::size_type pos = 0; (pos = where.find(what, pos)) != std::string::npos; where.insert(pos, that))
        where.erase(pos, what.size());
    std::cout<<where<<"\n";
    
    std::cout<<"\n";
    return 0;
}
Можете написать по старой версии С++??!!(просто в новом не хорошо разбираюсь!!!!)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2013, 13:16     Заменить все вхождения str1 на str2 (str1 вводится из файла, а str2 - с клавиатуры)
Еще ссылки по теме:

C++ Заменить в строке все вхождения подстроки str1 на подстроку str2
Функция определяющая наличие символов строки str2 в строке str1 C++

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

Или воспользуйтесь поиском по форуму:
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
26.04.2013, 13:16     Заменить все вхождения str1 на str2 (str1 вводится из файла, а str2 - с клавиатуры) #8
Особо не тестил:
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
#include <iostream>
#include <cstring>
#include <fstream>
int main()
{
    char str[256], str1[] = "qwe", str2[256];
    std:: cin >> str2;
    std::ifstream in("1.txt");
    while (!in.eof())
    {
        char* pos = 0;
        in.getline(str, sizeof(str));
        while (pos = strstr(str, str1))
        {
            char buf[256];
            strcpy(buf, pos + sizeof(str1) - 1);
            *pos = '\0';
            strcat(str, str2);
            strcat(str, buf);
        }
        std::cout << str << '\n';
    }
   return 0;
}
Yandex
Объявления
26.04.2013, 13:16     Заменить все вхождения str1 на str2 (str1 вводится из файла, а str2 - с клавиатуры)
Ответ Создать тему
Опции темы

Текущее время: 06:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru