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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Mister_Trololo
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 3
#1

Вставка в строки - C++

21.11.2011, 18:43. Просмотров 498. Ответов 3
Метки нет (Все метки)

Здравствуйте, у меня такой вопрос.

Как правильно вставлять символы(к примеру 4 пробела) в объекты типа string, если к примеру задана строка "aaaaaa\nbbbbbb\ncccc". Если пользоваться итератороми, то он потеряет смысл после первой вставки в строку, то есть следующий код не валиден. Вопрос, как сделать это правильно? спасибо

C++
1
2
3
4
5
6
7
8
9
string str = "0F AB 5D C6 DF E7";
 
for(string::iterator iter = str.begin(); iter != str.end(); ++iter)
{
    if(*iter == '\n')
    {
        str.insert(++iter, 4, ' ');
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2011, 18:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вставка в строки (C++):

Вставка строки в массив. - C++
Пожалуйста объясните мне алгоритм вставки строки в массив, с удалением разобрался а вот со вставкой нет(. Еще бы поиск не помешал. Язык си.

Вставка новой строки и столбца в матрицу - C++
Прошу помощи со следующей задачей. Уже замучался :( Даны действительная матрица размеры n*(n + 1), действительные числа a1,...,an+1,...

Вставка строки из текстового файла в код - C++
Как прочитать в текстовом файле строку и подставить её в код? Есть векстор чисел. Я прохожу по нему циклом , при этом условие if должны...

Слово из строки: вставка, удаление, поиск - C++
Как выдернуть слово из строки? Или посчитать длину, например 4-го слова? Как обратиться к конкретному слову в строке? Как добавить например...

Вставка в строку другой строки, начиная с заданной позиции - C++
class String { protected: char*str;//Указатель на массив символов int size;//Длина строки int num;//Кол-во символов в строке ...

String и кириллица. Вставка переноса строки после n-ного символа - C++
Добрый вечер, появилась задачи форматирования строки вывода по ширине (консольная игра с псевдографикой). Есть такой код int...

3
-=ЮрА=-
Заблокирован
Автор FAQ
21.11.2011, 22:04 #2
Mister_Trololo, посмотрите сюда
Строки в С++
вам не нужно никаких итераторов. Впрочем ниже код, чтобы было понятней
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string str = "0F AB 5D C6 DF E7";
    cout<<"Input string : "<<str<<endl;
    for(int i = 3,j; i < str.length(); i += (3 + j) )
    for(j = 0; j < 4; j++)
        str.insert(i,1,' ');
    cout<<"Splitiing : "<<str<<endl;
    system("pause");
    return 0;
}
Input string : 0F AB 5D C6 DF E7
Splitiing : 0F AB 5D C6 DF E7
Для продолжения нажмите любую клавишу . . .
0
Mister_Trololo
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 3
21.11.2011, 22:30  [ТС] #3
ну это да, но интересно именно поведение при использовании итераторов и алгоритмов
0
-=ЮрА=-
Заблокирован
Автор FAQ
21.11.2011, 23:48 #4
Цитата Сообщение от Mister_Trololo Посмотреть сообщение
ну это да, но интересно именно поведение при использовании итераторов и алгоритмов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    int j;
    string str = "0F AB 5D C6 DF";
    cout<<"Input string : "<<str<<endl;
    for(string::iterator iter = str.begin() + 3; iter <= str.end(); iter += 7)
        str.insert(iter,4,' ');
    cout<<"Splitiing : "<<str<<endl;
    system("pause");
    return 0;
}
Input string : 0F AB 5D C6 DF
Splitiing : 0F AB 5D C6 DF
Для продолжения нажмите любую клавишу . . .
0
21.11.2011, 23:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2011, 23:48
Привет! Вот еще темы с ответами:

Преобразовать заданные строки, согласно условию (сортировка и сравнение строк, вставка/удаление символов) - C++
Даны строки A и B. Если все символы A входят в B и в B есть повторяющиеся символы, то упорядочить символы B в порядке, обратном к...

Матрицы, Ассемблерная вставка. Всем элементам второй строки присвоить соответствующие элементы последнего столбца - C++
помогите решить пожалуйста, у меня зачет срочно!! в первом модуле определена квадратная матрица N го порядка. выводится измененная...

Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки - C++
Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки. 1. Я дуб дубом,даже...

Добавить строки, начиная со строки К1 и до строки К2, в динамический массив строк - C++
Есть динамический массив строк. Заполняется, т.е. размер его уже известен будет. Но дальше нужно сделать задание: &quot;Добавить строки, начиная...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru