Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2012, 12:23   #1
demigod82
Пользователь
 
Регистрация: 16.01.2012
Сообщений: 35
По умолчанию Удаление символа из string

Как удалить отдельный символ из string со сдвигом элементов, и без риска утечки памяти?
demigod82 вне форума Ответить с цитированием
Старый 09.06.2012, 15:56   #2
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

Код:
str.erase(pos,1);
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 10.06.2012, 14:10   #3
demigod82
Пользователь
 
Регистрация: 16.01.2012
Сообщений: 35
По умолчанию

Эта функция оставляет мусор в конце строки. Например, строка Hello, erase(0, 1), остаётся ello?(Знак вопроса это мусор). Поскольку я использую эту функцию в цикле, через пару проходов происходит исключение out of range. Как теперь быть?
demigod82 вне форума Ответить с цитированием
Старый 11.06.2012, 15:57   #4
demigod82
Пользователь
 
Регистрация: 16.01.2012
Сообщений: 35
По умолчанию

Вроде где то писалось, что нужен вызов s.erase(remove(s.begin(), s.end()) s.end). Но в вызове remove компилятор говорит, что string не подходит. Но ведь string является контейнером?
demigod82 вне форума Ответить с цитированием
Старый 11.06.2012, 16:39   #5
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

erase не оставляет мусора. Приведите весь код, либо смените компилятор.
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 12.06.2012, 16:13   #6
demigod82
Пользователь
 
Регистрация: 16.01.2012
Сообщений: 35
По умолчанию

У меня стоит visual c++. На что посоветуете поменять?
demigod82 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление непечатаемого символа ShamanK Microsoft Office Excel 1 27.11.2011 20:57
c++ удаление символа 0479 Помощь студентам 1 21.09.2010 02:33
удаление К-го символа. с++ parovoz121 Фриланс 8 13.06.2010 00:12
удаление К-го символа. с++ parovoz121 Помощь студентам 2 07.06.2010 02:29