Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выделение подстроки, Надо удалить пробелы и залить в массив 
:(
    Опции темы
Vredniy
  Дата 16.10.2007, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 15.10.2007

Репутация: нет
Всего: нет



Привет я новенький,не поможите с проблемой smile

Хочу удалить пробелы из строки но не получается :(

Код

#include "stdafx.h"
#include <iostream>
#include <string>
#include <string.h>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    string s1 = "aaa bbb  ccc   ddd    eee      fff"; 
    char chars[] = {' '};
    string s2[] = s1.split( chars );
    for(int i=0;i<6;i++)
    {
         cout << s2[i]<<endl;
    }
    return 0;
}


Это сообщение отредактировал(а) Vredniy - 16.10.2007, 20:09
PM MAIL   Вверх
_stranger_
Дата 16.10.2007, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 3.10.2006
Где: город-герой Киев

Репутация: 2
Всего: 2



Вот один из вариантов, попробуй, может подойдет:
Код


#include <iostream>
#include <algorithm>
#include <string>

int main()
{
    std::string s2,s1 = "aaa bbb  ccc   ddd    eee      fff"; 
    std::string::iterator iter1(s1.begin()),end1(s1.end()),iter2(s1.begin());
    while(iter1 != end1)
    {
       iter1 = std::find(iter1,end1,' ');
       s2.append(std::string(iter2,iter1));
       if(iter1 != end1)
       {
         iter2 = ++iter1;
       }
    }
    std::cout << s2 << std::endl;
    return 0;
}

PM MAIL   Вверх
FREEDEV
Дата 16.10.2007, 19:41 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 6.3.2007
Где: Украина->Одесс а

Репутация: нет
Всего: 3



Код

#include <algorithm>
#include <string>
#include <conio.h>
            
string s1 = "aaa bbb  ccc   ddd    eee      fff"; 
while(s1.erase(find_if(s1.begin(),s1.end(),isspace)) != s1.end());
cout << s1 << endl;
getch();

--------------------
Microsoft Windows Visla ©
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0882 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.