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

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

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

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

21.11.2011, 18:43. Просмотров 488. Ответов 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, ' ');
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2011, 18:43     Вставка в строки
Посмотрите здесь:

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор 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
Для продолжения нажмите любую клавишу . . .
Mister_Trololo
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 3
21.11.2011, 22:30  [ТС]     Вставка в строки #3
ну это да, но интересно именно поведение при использовании итераторов и алгоритмов
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2011, 23:48     Вставка в строки
Еще ссылки по теме:

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

вставка - C++
А вот еще сортировка вставкой..вообще бред какой-то получился(( #include&lt;iostream&gt; #include&lt;ctime&gt; using namespace std; void main()...

Ассемблерная вставка на С++ - C++
Написал сегодня код. int x, y; //Исходные числа float res = 0; //Результат расчетов cin &gt;&gt; x &gt;&gt; y;//Вводи операнды ...

Вставка asm в С++ - C++
Здравствуйте! Помогите пожалуйста! Задание: Вычислить арифметическое выражение. Требуется написать функцию на языке C++ с вставкой на...


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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор 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
Для продолжения нажмите любую клавишу . . .
Yandex
Объявления
21.11.2011, 23:48     Вставка в строки
Ответ Создать тему
Опции темы

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