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

std::string + std::remove - C++

Восстановить пароль Регистрация
 
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
30.06.2013, 20:11     std::string + std::remove #1
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <string>
#include <algorithm>
 
 
int main()
{
    std::string str("hello, world. have a nice day.");
    std::remove(str.begin(), str.end(), '.');
    std::cout << str;
}
вывод: "hello, world have a nice dayy."

недопонял - почему так? mingw
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2013, 20:11     std::string + std::remove
Посмотрите здесь:

C++ Не воспринимает ни std::cout, ни std::cin. Вобщем ничего из std. Также не понимает iostream
C++ запрошено преобразование от ‘const std::string*’ к нескалярному типу ‘std::string’
Передача функции указатель на элемент std::vector<std::string> C++
Ошибка: отсутствует оператор ">>"; типы операндов: std::istream >> std::string C++
C++ Как правильно перевести std::wstring в std::string ?
C++ Как привести std::wstring к std::string?
C++ Error C2664: std::vector<_Ty>::push: невозможно преобразовать параметр 1 из 'double' в 'const std::string &'
C++ Std::string and std::wstring convert

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
30.06.2013, 20:21     std::string + std::remove #2
ремув смещает элементы, подлежащие удалению в конец. он не знает как их удалять из контейнера, т.к. работает только с итераторами, а через них нельзя что-то удалить из контейнера. чтобы удалить, нужно у контейнера звать erase:
C++
1
str.erase(std::remove(str.begin(), str.end(), '.'), str.end());
Croessmah
30.06.2013, 22:24     std::string + std::remove
  #3

Не по теме:

Цитата Сообщение от DU Посмотреть сообщение
ремув смещает элементы, подлежащие удалению в конец.
Смещает остающиеся элементы в начало, соблюдая порядок и не обязан перемещать удаляемые в конец

Yandex
Объявления
30.06.2013, 22:24     std::string + std::remove
Ответ Создать тему
Опции темы

Текущее время: 01:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru