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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> string 
:(
    Опции темы
djamshud
Дата 19.5.2010, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

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



azesmcar, да, я проглядел.

box, нагугли другой разбиватель строки. На винградовском же форуме было, причем буквально вчера.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
azesmcar
Дата 19.5.2010, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



Цитата(djamshud @  19.5.2010,  21:17 Найти цитируемый пост)
box, нагугли другой разбиватель строки. На винградовском же форуме было, причем буквально вчера. 

 smile 
вот первое что выдал гугл.
http://stackoverflow.com/questions/236129/...-split-a-string
решений море..и сдался тебе этот VCL.
PM   Вверх
box
Дата 19.5.2010, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



как загнать вывод в массив ?
Код


    const vector<string> words = split(buffer, "|");
    copy(words.begin(), words.end(), ostream_iterator<string>(cout, "\n"));


PM MAIL   Вверх
azesmcar
Дата 19.5.2010, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



Цитата(box @  19.5.2010,  22:29 Найти цитируемый пост)
как загнать вывод в массив ?

т.е. как? он уже изначально в массиве.
PM   Вверх
box
Дата 20.5.2010, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



а как вывести допустим 5-й эллемент из массива ?
Код


 std::string substring( s.substr(prev_pos, pos-prev_pos) ); // Last word
    std::cout << substring ;



и как  пробежаться по массиву циклом?

Это сообщение отредактировал(а) box - 20.5.2010, 00:25
PM MAIL   Вверх
djamshud
Дата 20.5.2010, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

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



Код

const vector<string> words = split(buffer, "|");
count<<words[4];



--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
box
Дата 20.5.2010, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



подскажите как на данном примере вывести  только первый эллемент из разбитой строки 
Код


    std::string s(buffer);

    std::string::size_type prev_pos = 0, pos = 0;
    while( (pos = s.find('|', pos)) != std::string::npos )
    {
        std::string substring( s.substr(prev_pos, pos-prev_pos) );

        std::cout << substring << '\n';

        prev_pos = ++pos;
    }

std::string substring( s.substr(prev_pos, pos-prev_pos) ); // Last word
std::cout << substring ;


PM MAIL   Вверх
azesmcar
Дата 20.5.2010, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



не пойму я чего тебе надо, скажи конкретно, а то каждый раз по вопросу и в конце выясняется что тебе вообще что-то другое нужно.
PM   Вверх
box
Дата 20.5.2010, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



я проверил тот код и оказалось что он криво разбивает на подстроки , меня интересует как загнать в трех мерный массив и вывести каждый первый элемент массива , на примере пхп массива :
$arr[0]=('host'=>'some host','ip'=>'some ip','string'=>'some string');
.........................
так вот нужно выводить только элемент host из всего массива .
на пхп или перле это все делается в пару строк а в си я новичек .
Код

    std::string s(buffer);
    std::string::size_type prev_pos = 0, pos = 0;
    while( (pos = s.find('|', pos)) != std::string::npos )
    {
        std::string substring( s.substr(prev_pos, pos-prev_pos) );
        std::cout << substring << '\n';
        prev_pos = ++pos;
    }
std::string substring( s.substr(prev_pos, pos-prev_pos) ); // Last word
std::cout << substring ;

вот этот код отлчно радбивает строку , но не представляю как загнать вывод в трехмерный массив и потом как вывести только указанные элементы ?
PM MAIL   Вверх
azesmcar
Дата 20.5.2010, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



Цитата(box @  20.5.2010,  14:58 Найти цитируемый пост)
вот этот код отлчно радбивает строку , но не представляю как загнать вывод в трехмерный массив и потом как вывести только указанные элементы ? 

Сложно понять что конкретно нужно, но предположительно тебе нужен std::map (ассоциативный массив).
PM   Вверх
box
Дата 20.5.2010, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



крутая вещь этот map но не понятно как вставить в массив ? я пробую так , но вылазит ошибка :
Код


    std::map<int, char> fib;
............................................
    while ((read_bytes = read (fd, buffer, BUFFER_SIZE)) > 0)
    {
        buffer[read_bytes] = 0;


    std::string s(buffer);

    std::string::size_type prev_pos = 0, pos = 0;
    while( (pos = s.find('|', pos)) != std::string::npos )
    {
        std::string substring( s.substr(prev_pos, pos-prev_pos) );

     std::cout <<fib.insert() <<substring <<std::endl;

        prev_pos = ++pos;
    }
}
...........


Это сообщение отредактировал(а) box - 20.5.2010, 22:40
PM MAIL   Вверх
azesmcar
Дата 21.5.2010, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



Цитата(box @  20.5.2010,  22:31 Найти цитируемый пост)
крутая вещь этот map но не понятно как вставить в массив ? я пробую так , но вылазит ошибка :

Читай доки по map
http://www.cplusplus.com/reference/stl/map/insert/

PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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