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

String.insert - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.84
GexogenSG1
Сообщений: n/a
22.06.2013, 19:14     String.insert #1
Здравствуйте. Пожалуйста, покажите мне пример программы, которая вставляет строку в строку в заданное место с помощью метода insert. Чтобы была одна функция с двумя символьными строками, в общем, чтобы была часть не только main, но и объявления до main =) Простите, что говорю таким нелепым языком) Еще не очень ориентируюсь в C++)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,427
22.06.2013, 20:14     String.insert #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <cstddef>
 
void foo(std::string &str1, const std::size_t pos, const std::string &str2)
{
    str1.insert(pos, str2);
}
 
int main()
{
    std::string str1 = "Eniki eli vareniki", str2 = "beniki ";
    std::size_t pos = 6;
    foo(str1, pos, str2);
    std::cout << str1 << std::endl;
}
GexogenSG1
Сообщений: n/a
22.06.2013, 22:40     String.insert #3
e:\program files\visual studio 6\msdev98\myprojects\insert\insert.cpp(5) : error C2039: 'size_t' : is not a member of 'std'
e:\program files\visual studio 6\msdev98\myprojects\insert\insert.cpp(13) : error C2039: 'size_t' : is not a member of 'std'
e:\program files\visual studio 6\msdev98\myprojects\insert\insert.cpp(16) : warning C4508: 'main' : function should return a value; 'void' return type assumed
Error executing cl.exe.

insert.obj - 2 error(s), 1 warning(s)

не работает( VB 6.0

Добавлено через 1 час 16 минут
Все, работает, спасибо) А как теперь добавить к этому коду код, чтобы самому вводить значение строки 1, значение строки 2 и указывать символ в строке 1, после которого нужно вставить строку 2?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <cstddef>
using namespace std;
void foo(string &str1, const size_t pos, const string &str2)
{
    str1.insert(pos, str2);
}
 
int main()
{
    string str1 = "Eniki eli vareniki", str2 = "beniki ";
    size_t pos = 6;
    foo(str1, pos, str2);
    cout << str1 << endl;
}
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,427
22.06.2013, 22:49     String.insert #4
Почитайте про функции ввода/вывода, ибо это уже банальщина.
Цитата Сообщение от GexogenSG1 Посмотреть сообщение
символ в строке 1, после которого нужно вставить строку 2?
C++
1
std::size_t pos = str1.find('символ');
только не забудьте проверить на существование этого символа вообще после данной операции.
C++
1
if (pos != std::string::npos) { ... }
Yandex
Объявления
22.06.2013, 22:49     String.insert
Ответ Создать тему
Опции темы

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