Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/34: Рейтинг темы: голосов - 34, средняя оценка - 4.56
 Аватар для Гайфи
21 / 13 / 7
Регистрация: 17.10.2015
Сообщений: 126

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

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

Студворк — интернет-сервис помощи студентам
Здравствуйте, ребят.
Не буду вас мучить сегодня. Только один вопрос: У меня есть очень длинная строка std::string. Мне нужна возможность редактировать ее на протяжении всей работы приложения, не переписывая ее заново. Т.е возможно ли с помощью оператора std::cin работать с уже готовой строкой?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.12.2015, 23:19
Ответы с готовыми решениями:

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

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

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

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

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

Решение

Стринги нынче хранятся как непрерывный кусок данных, так что любая вставка/удаление в середине строки один фиг приведут к перезаписи (сдвигу влево/вправо) этак половины строки. Но, в принципе, можно извернуться как-то так:
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
 Аватар для Гайфи
21 / 13 / 7
Регистрация: 17.10.2015
Сообщений: 126
07.12.2015, 13:25  [ТС]
Renji, Ты хороший. Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.12.2015, 13:25
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru