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

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

Войти
Регистрация
Восстановить пароль
 
GetHelp
-7 / 61 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
#1

Удалить все пробелы в строке - C++

02.08.2014, 08:41. Просмотров 840. Ответов 5
Метки нет (Все метки)

можно ли как то с помощью метода string.replace удалить все пробелы в строке? вот так не работает
C++
1
2
string str("this is test string");
str.replace(" ", "");
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2014, 08:41     Удалить все пробелы в строке
Посмотрите здесь:

В данной строке удалить все пробелы. - C++
Дана строка. В данной строке удалить все пробелы.

В символьной строке удалить все лишние подряд идущие пробелы. - C++
Помогите пожалуйста написать программу,Каким образом можно осуществить: В символьной строке удалить все лишние подряд идущие пробелы?

В символьной строке удалить все лишние подряд идущие пробелы. - C++
помогите пожалуйста написать программу:В символьной строке удалить все лишние подряд идущие пробелы.

Удалить все символы в строке, не являющиеся буквами и заменить множественные пробелы одним - C++
Ребята,буду запредельно благодарен.

Удалить лишние пробелы в строке - C++
удаление лишних пробелов в тексте

Удалить лишние пробелы в строке - C++
Дано строку. Удалить лишние пробелы.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
1447 / 1176 / 61
Регистрация: 21.04.2012
Сообщений: 2,463
Завершенные тесты: 3
02.08.2014, 08:50     Удалить все пробелы в строке #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
GetHelp, используй std::string::erase и std::remove:
C++
1
str.erase(std::remove(str.begin(), str.end(), ' '), str.end());
Добавлено через 2 минуты
Цитата Сообщение от GetHelp Посмотреть сообщение
вот так не работает
И не должно, посмотри прототипы этого метода, здесь например.
GetHelp
-7 / 61 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
02.08.2014, 08:53  [ТС]     Удалить все пробелы в строке #3
gray_fox,
error C2660: remove: функция не принимает 3 аргументов
отсутствуют экземпляры перегруженная функция "std::basic_string<_Elem, _Traits, _Alloc>::erase [с _Elem=char, _Traits=std::char_traits<char>, _Alloc=std::allocator<char>]", соответствующие списку аргументов типы аргументов: (int, std::_String_iterator<std::_String_val<std::_Simple_types<char>>>) тип объекта: std::string
не существует подходящей функции преобразования из "std::_String_iterator<std::_String_val<std::_Simple_types<char>>>" в "const char *"
gray_fox
What a waste!
1447 / 1176 / 61
Регистрация: 21.04.2012
Сообщений: 2,463
Завершенные тесты: 3
02.08.2014, 08:59     Удалить все пробелы в строке #4
GetHelp, http://ideone.com/GyNXmN
GetHelp
-7 / 61 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
02.08.2014, 09:01  [ТС]     Удалить все пробелы в строке #5
gray_fox, не знал что алгоритм надо инклудить спс
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2014, 09:26     Удалить все пробелы в строке
Еще ссылки по теме:

Удалить лишние пробелы в строке - C++
Добрый день. Прошу написать простую программу по заданию: В строке, введённой с клавиатуры, удалить все лишние пробелы. На форуме...

Строки. Удалить все пробелы - C++
Задание: Дана строка, в которой слова разделены одним пробелом и более. Удалить из нее все пробелы. #include &lt;iostream&gt; #include...

Строки: удалить все пробелы - C++
Всем доброго времени суток. Я учусь на инженера-электрика и вообщем-то засел на задаче по программированию на С++. Буду весьма благодарен...

Удалить все лишние пробелы - C++
В чем ошибка? #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main() { string s;

Удалить в строке лишние пробелы, оставив между словами ровно по одному - C++
Дана строка состоящая из слов, между которыми есть некое количество пробелов. Требуется удалить лишние пробелы, оставив между словами...

В произвольной строке удалить двойные пробелы и определить длину новой строки - C++
Условие: Написать программу, которая бы в произвольной строке (не более 80 символов) удаляла двойные пробелы и определяла длину новой...


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

Или воспользуйтесь поиском по форуму:
gray_fox
What a waste!
1447 / 1176 / 61
Регистрация: 21.04.2012
Сообщений: 2,463
Завершенные тесты: 3
02.08.2014, 09:26     Удалить все пробелы в строке #6
GetHelp, вообще erase возможно использовать не обязательно. erase удаляет элементы из контейнера. Пусть r - результат remove. remove перераспределит элементы так, что в первой половине ( [begin; r) ) находится результат, во второй ( [r; end) ) - остальные элементы в неопределённом порядке. Если не предполагается дальше использовать объект std::string (например надо просто вывести в консоль результат), то можно просто использовать последовательность [begin; r) без вызова erase.

Добавлено через 4 минуты
Например http://ideone.com/mndGIR

Добавлено через 10 минут
Цитата Сообщение от gray_fox Посмотреть сообщение
во второй ( [r; end) ) - остальные элементы в неопределённом порядке.
Поправлюсь: они будут не в неопределённом порядке, а в неопределённом состоянии; суть в том, что remove не освобождает память, а только перераспределяет элементы последовательности; если надо так же освободить память, то надо так же использовать и erase.
Yandex
Объявления
02.08.2014, 09:26     Удалить все пробелы в строке
Ответ Создать тему
Опции темы

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