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

Замена символа на строку. - C++

Восстановить пароль Регистрация
 
IsoOmena
Сообщений: n/a
21.02.2011, 11:43     Замена символа на строку. #1
Задача заключается в следующем: необходимо заменить "ХХХ", независимо от колличества Х-ов, на "Siberia".
Пробовала делать так:

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 <string>
using namespace std;
int main ()
{
string str ("Cogratulations Mrs.<name>, you and Mr.<name> are the lucky recipients of a trip for two to XXXXXX. Your trip to XXX is already scheduled");
 
size_t found;
 
found=str.find_first_of("X");
  while (found!=string::npos)
  {
         char c[8] = "Siberia";
        str[found]= *c;
 
    found = str.find_first_of("X",found+1);
   
  }
 
cout << str << endl;
 
system("PAUSE");
return 0;
}
но в итоге "ХХХ" заменяются только на первую букву, т.е. на "S", а как сделать так, чтобы заменялось на строку? Может, пробовать через другой оператор?

Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2011, 11:43     Замена символа на строку.
Посмотрите здесь:

C++ Замена символа
замена символа C++
замена символа C++
Замена символа C++
C++ Замена символа в строке
C++ Дан символ C и строки S, S0. После каждого вхождения символа C в строку S вставить строку S0
Создать строку: с начало три символа первой строки, потом эти же три символа в обратном порядке C++
C++ Замена символа w на пробел

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
21.02.2011, 11:52     Замена символа на строку. #2
Вам необходимо "расширить\ужать" строчку свою. Довольно логичный вариант - взять часть строчки ДО вашего ХХХ, скопировать в новую, прибавить вашу Siberia, Затем взять в изначальной сточке 2ю часть ПОСЛЕ ХХХ, и прибавить к результирующей строчке. Используйте substr()
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
21.02.2011, 12:17     Замена символа на строку. #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    string str = "Cogratulations Mrs.<name>, you and Mr.<name> are the lucky recipients"
                 " of a trip for two to XXXXXX. Your trip to XXX is already scheduled";
 
 
    size_t foundf, foundl;
 
    while( (foundf = str.find_first_of("X")) != string::npos)
    {
        foundl = str.find_first_not_of("X", foundf);
        str.replace(foundf, foundl - foundf, "Siberia");
    }
 
    cout << str << endl;
 
    return 0;
}
Yandex
Объявления
21.02.2011, 12:17     Замена символа на строку.
Ответ Создать тему
Опции темы

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