Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
20 / 12 / 7
Регистрация: 17.10.2015
Сообщений: 126
1

Редактирование строки

06.12.2015, 23:19. Показов 3563. Ответов 6
Метки нет (Все метки)

Здравствуйте, ребят.
Не буду вас мучить сегодня. Только один вопрос: У меня есть очень длинная строка std::string. Мне нужна возможность редактировать ее на протяжении всей работы приложения, не переписывая ее заново. Т.е возможно ли с помощью оператора std::cin работать с уже готовой строкой?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2015, 23:19
Ответы с готовыми решениями:

Редактирование строки
Нужно редактировать текстовый файл таким образом: у нас есть определенное кол-во символов,которое...

Удаление и редактирование определённой строки
Задание- словарь синонимов, в нём нужно осуществить удаление и редактирование определённой строки в...

Файлы: редактирование определенной строки
как мне сделать редактирования файла? допустим вместо строки 2 которую я ввел рание записать что-то...

Работа с файлами. Редактирование только 1 строки
Добрый день как можно редактировать только 1 строку? Есть функция: const char *...

6
0 / 0 / 1
Регистрация: 06.12.2015
Сообщений: 10
06.12.2015, 23:43 2
Здравствуйте, http://scrutator.me/post/2014/... asics.aspx вот довольно хороший материал по строкам
0
20 / 12 / 7
Регистрация: 17.10.2015
Сообщений: 126
07.12.2015, 00:16  [ТС] 3
Tanya Solnce, Спасибо

Добавлено через 6 минут
Tanya Solnce, Но тут строки. Мне нужна именно работа с std::cin
0
2712 / 1879 / 556
Регистрация: 05.06.2014
Сообщений: 5,468
07.12.2015, 00:33 4
Цитата Сообщение от Гайфи Посмотреть сообщение
Не буду вас мучить сегодня. Только один вопрос: У меня есть очень длинная строка std::string. Мне нужна возможность редактировать ее на протяжении всей работы приложения, не переписывая ее заново. Т.е возможно ли с помощью оператора std::cin работать с уже готовой строкой?
Объясните, причем тут cin. Если имелось ввиду "избежать перераспределения памяти", то str.reserve(100500) (или сколько вам там надо) спасет отца русской демократии.
1
20 / 12 / 7
Регистрация: 17.10.2015
Сообщений: 126
07.12.2015, 00:45  [ТС] 5
нет, я не об этом. С память. у меня все хорошо. таска в том, что строка большая, а на протяжении работы приложения мне нужно не только дополнять ее, но и редактировать (вносить изменения в разные участки). Мне не хочется каждый раз писать ее заново для того, чтобы сделать это, а чтобы при вызове cin + *волшебное слово(?)* << эта строка; можно было ее сразу редактировать, т.е иметь доступ к любому ее участку.
0
2712 / 1879 / 556
Регистрация: 05.06.2014
Сообщений: 5,468
07.12.2015, 01:23 6
Лучший ответ Сообщение было отмечено Гайфи как решение

Решение

Стринги нынче хранятся как непрерывный кусок данных, так что любая вставка/удаление в середине строки один фиг приведут к перезаписи (сдвигу влево/вправо) этак половины строки. Но, в принципе, можно извернуться как-то так:
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
25
26
#include <iostream>
 
using namespace std;
 
struct proxy
{
    proxy(std::string&_str,int _pos):str(_str),pos(_pos){}
 
    std::string&str;
    int pos;
};
 
istream&operator>>(istream&stream,const proxy&pos){
    std::string str;
    stream>>str;
    pos.str.insert(pos.pos,str);
    return stream;
}
 
int main()
{
    string str="test tost";
    cin>>proxy(str,5);
    cout<<str<<endl;
    return 0;
}
1
20 / 12 / 7
Регистрация: 17.10.2015
Сообщений: 126
07.12.2015, 13:25  [ТС] 7
Renji, Ты хороший. Спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2015, 13:25

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Редактирование строки. В строку дозаписывается мусор
Есть программа, которая заменяет в строке &quot;ph&quot; на &quot;f&quot;, а &quot;ed&quot; на &quot;ing&quot;. Программа работает. Но...

БД с операциями: добавление новой строки, удаление строки, редактирование имеющейся строки
Нужно создать базу данных в паскале, с операциями: добавление новой строки, удаление строки,...

Редактирование строки
имеется txt файл, строк на 500-2000(+-) мне нужно расшифровать каждую строку с текстом(под...

Редактирование строки
Если есть большой текст, и в нем есть слово Backspace-это означет, что предедюший символ должен...


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

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

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