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

Класс, который удаляет из строки все пробелы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ fopen не открывает файл http://www.cyberforum.ru/cpp-beginners/thread520608.html
Файл существует, с нормальными атрибутами, не открыт... FILE *pFile = fopen("C:\\settings.txt", "r"); errno - 2 Почему файл не открывается?
C++ Строка + число Перед записью в файл функция проверяет не существует ли уже файл с данным именем, если существует - добавляет к имени _номер. Моё недосыпающее сознание нашкодило такой костыль: void... http://www.cyberforum.ru/cpp-beginners/thread520607.html
C++ не совсем понимаю код *указатели
изучаю указатели, столкнулся с кодом не совсем могу понять что происходит в функции *g_s, особенно это условие *p2 && *p2 == *p #include <iostream> #include <locale> using namespace std; ...
C++ Как поменять точку на запятую в Visual C++ 6?
У меня в разделе Язык и региональные стандарты выставлена запятая(Делитель целой части и дробной). Т.е. для всей системы правильно число пять с половиной будет выглядеть как 5,5, а не как 5.5 И во...
C++ В массиве целых чисел найти и распечатать все пары одинаковых чисел http://www.cyberforum.ru/cpp-beginners/thread520521.html
В массиве целых чисел найти и распечатать все пары одинаковых чисел. За помощь буду очень благодарен. //В массиве целых чисел найти и распечатать все пары одинаковых чисел #include <iostream>...
C++ Программное включение языка ввода Хотелось бы, чтобы при запуске приложения не приходилось бы выбирать нужный язык и регистр ввода Windows-овскими сочетаниями клавиш. Подскажите, пожалуйста, как программно включить нужный язык и... подробнее

Показать сообщение отдельно
Konstantin_D
14 / 14 / 2
Регистрация: 21.07.2011
Сообщений: 89

Класс, который удаляет из строки все пробелы - C++

17.03.2012, 02:37. Просмотров 733. Ответов 5
Метки (Все метки)

Нужен класс, который удаляет из строки все пробелы.
Как сие лучше реализовать?
Придумалось вот такое:
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
27
28
29
#include <iostream>
#include <string>
#include <algorithm>
 
class EraseChar
{
    // Удаляемый символ
    enum{CHAR = ' '};
    // Это сама строка
    std::string str;
    // Функция удаляет из строки str символ CHAR
    void eraseChar() {
        str.erase(std::remove(str.begin(), str.end(), CHAR), str.end());
    }
public:
    EraseChar(){}
    EraseChar(std::string& s): str(s) {eraseChar();}
    EraseChar(char* pch): str(pch) {eraseChar();}
    operator const std::string& () const {return str;}
};
int main ()
{
    std::string s(" He ll o, wo rld ! ");
    EraseChar ec(s);
    s = ec;
    std::cout << s << std::endl;
    ec = " I S D ";
    std::cout << (std::string)ec << std::endl;
}
Добавлено через 19 минут
А может лучше как-то через статическую функцию реализовать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru