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

Функция вставки подстроки в строку. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.97
ZaVyLoN
 Аватар для ZaVyLoN
83 / 83 / 6
Регистрация: 26.10.2009
Сообщений: 269
24.11.2011, 02:01     Функция вставки подстроки в строку. #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
size_t n;
string S1,S;
cout<<"Input S1 : ";
getline(cin,S1,'\n');
cout<<"Input S : ";
getline(cin,S,'\n');
cout<<"Input position :";
while(!(cin>>n)||n >= S.size()){
    cerr<<"Error while reading the integer n "<<endl;
    return EXIT_FAILURE;
}
S.insert(n,S1);
cout<<S<<endl;
getch();
Кто подскажет как это сделать с массивом типа char.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2011, 02:01     Функция вставки подстроки в строку.
Посмотрите здесь:

Мне надо сделать поиск последнего вхождения подстроки s1 в строку s(с функцией LastPos, не strstr). В этом коде просто вхождение подстроки в строку. C++
функция вставки элемента в массив C++
C++ Функция поиска подстроки в строке
Функция вставки в list C++
Разбить строку на все "связные" подстроки. Получившиеся подстроки записать в вектор C++
C++ Функция вставки символа в начало строки
Своя функция lastpos (поиск последнего вхождения подстроки в строку) C++
C++ Функция вставки элемента в циклический список

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Сыроежка
Заблокирован
24.11.2011, 02:11     Функция вставки подстроки в строку. #2
ZaVyLoN,

Надо выделять память динамически под результирующий массив, длина которого будет равна сумме длины исходного массива ( имеется в виду значение strlen) плюс длина вставляемого массива, плюс один символ для завершающего нуля. И самостоятельно придется в результирующий массив копировать данные из исходных массивов.
ZaVyLoN
 Аватар для ZaVyLoN
83 / 83 / 6
Регистрация: 26.10.2009
Сообщений: 269
24.11.2011, 08:04  [ТС]     Функция вставки подстроки в строку. #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
24
//Функция вставки подстроки в строку.
char *MyHomeWorkDll::str2str(char *myString, char *subString, int N)
{
    // 1) Выделяем память размером strlen(myString) + strlen(subString) + 1
    int Size, Size3;
    Size = strlen(myString) + strlen(subString) + 1;
    Size3 = strlen(myString) - N;
    char *returnChar = new char[Size];
    char *temp = new char[Size3];
 
    // 2) Копируем туда часть строки myString до символа n - 1
    strncpy(returnChar, myString + 0, N );
    returnChar[N]='\0';
 
    // 3) Копируем туда subString
    strcat(returnChar, subString);
 
    // 4) Копируем туда часть myString от символа n до конца
    strncpy(temp, myString + N, strlen(myString)-N );
    temp[strlen(myString)-N] = '\0';
    strcat(returnChar, temp);
 
    return returnChar;
}
Yandex
Объявления
24.11.2011, 08:04     Функция вставки подстроки в строку.
Ответ Создать тему
Опции темы

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