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

Скопировать string из одной строки в другую - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Cамоучитель, посоветуйте http://www.cyberforum.ru/cpp-beginners/thread262747.html
Посоветуйте книгу какую-нибудь по С++ в среде visual studio для начинающих. для совсем начинающих) ну в общем вот и вся проблема) заранее благодарна!
C++ Builder Ошибка при использовании конструктора Вот написал часть программы на С++, захотел проверить, но выбило ошибку Unit1.cpp(104): E2294 Structure required on left side of . or .* Я подумал что ето может из-за того что я не использую ->, но дело оказалось не в том, помогите пожалуйста исправить. //--------------------------------------------------------------------------- class Matrix{ float Masiv,Vidpovid; int n; public:... http://www.cyberforum.ru/cpp-beginners/thread262741.html
C++ Дано натуральное число. Найти ближайшее простое число
1. Дано натуральное число. Найти ближайшее простое число. 2. Дано 20 пар однозначных чисел. Первое число каждой пары означает количество забитых мячей в матче, второе - пропущенных в той же игре. Определить общее количество очков, набранных командой. Добавлено через 2 часа 39 минут Помогите! Добавлено через 59 минут :wall:
C++ Найти площадь равностороннего треугольника, если известна его стороны
1. Найти площадь равностороннего треугольника, если известна его стороны. 2. Написать программу, которая вычисляет количество населения планеты за год, если задано текущее количество населения, уровень рождаемости (y%) и уровень смертности (y%). 3. Поезд ехал t1 ч со скоростью v1 км / ч, t2 ч со скоростью v2, и t3 ч со скоростью v3. Определить пройденные пути с разной скоростью и полный...
C++ Класс Студент http://www.cyberforum.ru/cpp-beginners/thread262722.html
Задание1 Определите класс «Студент».Методы – перевод на следующий курс, выпуск, отчисление. Задание2 Разработать дружественную классу «Студент» функцию, определяющую знак зодиака, под которой студент родился. (21.03-20.04) Овен (21.04-20.05) Телец
C++ Программа на C++ с использованием шаблона функции. Нужно написать программу которая считает сумму элементов главной диагонали матрицы. Для подсчета использовать шаблон функции. помогите пожалуйста кому не сложно. подробнее

Показать сообщение отдельно
TheCalligrapher
С чаем беда...
Эксперт С++
 Аватар для TheCalligrapher
3137 / 1577 / 426
Регистрация: 18.10.2014
Сообщений: 2,920
29.10.2014, 17:49     Скопировать string из одной строки в другую
(Если копировать надо с n1 до n2 включительно)

C++
1
2
std::string st;
st = h.substr(n1, n2 - n1 + 1);
Или, если хотите

C++
1
2
std::string st;
std::copy(h.begin() + n1, h.begin() + n2 + 1, std::back_inserter(st));
или

C++
1
2
std::string st(n2 - n1 + 1, ' ');
std::copy(h.begin() + n1, h.begin() + n2 + 1, st.begin());
Более того, с определенных пор язык гарантирует, что строка в std::string хранится непрерывно. Поэтому можно и

C++
1
2
std::string st(n2 - n1 + 1, ' ');
h.copy(n1, n2 - n1 + 1, &st[0]);
C++
1
2
std::string st(n2 - n1 + 1, ' ');
std::copy(h.begin() + n1, h.begin() + n2 + 1, &st[0]);
C++
1
2
std::string st(n2 - n1 + 1, ' ');
std::copy(&h[n1], &h[n2] + 1, &st[0]);
Ну и разумеется можно было все сделать еще на этапе инициализации

C++
1
std::string st(h, n1, n2 - n1 + 1);
C++
1
std::string st(h.begin() + n1, h.begin() + n2 + 1);
C++
1
std::string st(&h[n1], &h[n2] + 1);
 
Текущее время: 08:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru