The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Аналог PHP'шной функции array explode (separator,string  )"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Аналог PHP'шной функции array explode (separator,string  )"  
Сообщение от tigo email(ok) on 10-Авг-07, 11:24 
Доброго времени суток!

Подскажите, пжалуйста, есть ли Си'шные реализации функции explode, из PHP?

Обьявление из документации по PHP:
_______________________________________________________________
explode
(PHP 3, PHP 4, PHP 5)

explode -- Разбивает строку на подстроки
Описание
array explode ( string separator, string string [, int limit] )


Возвращает массив строк, полученных разбиением строки string с использованием separator в качестве разделителя. Если передан аргумент limit, массив будет содержать максимум limit элементов, при этом последний элемент будет содержать остаток строки string.

Если separator - пустая строка (""), explode() возвращает FALSE. Если separator не содержится в string, то explode() возвращает массив, содержащий один элемент string.

По историческим причинам, функции implode() можно передавать аргументы в любом порядке, но для explode() это недопустимо. separator всегда должен содержать разделитель, а string - исходную строку.

Замечание: Аргумент limit был добавлен в PHP 4.0.1
________________________________________________________________________

Интересует иммено вариант с оганичителем. Если кто нибудь предложит свою реализацию, буду очень благодарен.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Аналог PHP'шной функции array explode (separator,string  )"  
Сообщение от kriogen on 10-Авг-07, 12:13 
в бусте есть tokenizer, вот стандартный пример:

   string s = "This is,  a test";
   tokenizer<> tok(s);
   for(tokenizer<>::iterator beg=tok.begin(); beg!=tok.end();++beg){
       cout << *beg << "\n";
   }

Результат:
This
is
a
test

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Аналог PHP'шной функции array explode (separator,string  )"  
Сообщение от tigo email(ok) on 10-Авг-07, 12:25 
>[оверквотинг удален]
>   for(tokenizer<>::iterator beg=tok.begin(); beg!=tok.end();++beg){
>       cout << *beg << "\n";
>
>   }
>
>Результат:
>This
>is
>a
>test

А на простом Си? не плюс плюс

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Аналог PHP'шной функции array explode (separator,string  )"  
Сообщение от phpcoder email(??) on 10-Авг-07, 12:38 
[...]
>А на простом Си? не плюс плюс

А самому поискать?

man strtok, man strchr


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Аналог PHP'шной функции array explode (separator,string  )"  
Сообщение от tigo email(ok) on 10-Авг-07, 12:51 
>[...]
>>А на простом Си? не плюс плюс
>
>А самому поискать?
>
>man strtok, man strchr

да, я знаю... просто то что я написал с приминением этих функций, ну мягко говоря не очень...
подумал может есть оптимизированная и написаная людьми поумнее меня...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Аналог PHP'шной функции array explode (separator,string  )"  
Сообщение от anonymous (??) on 10-Авг-07, 12:59 
>>[...]
>>>А на простом Си? не плюс плюс
>>
>>А самому поискать?
>>
>>man strtok, man strchr
>
>да, я знаю... просто то что я написал с приминением этих функций,
>ну мягко говоря не очень...
>подумал может есть оптимизированная и написаная людьми поумнее меня...

Вы ведь говорили что учитесь программировать на Си, верно?  Тогда это будет хорошим упражнением, можно понять многие аспекты, связанные со строками в Си.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Аналог PHP'шной функции array explode (separator,string  )"  
Сообщение от tigo email(ok) on 10-Авг-07, 13:06 
Ок, всем спасибо. Тема закрыта.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру