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

Есть ли в С аналог функции explode(или split)? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.65
cosmo
Сообщений: n/a
15.09.2010, 08:43     Есть ли в С аналог функции explode(или split)? #1
Есть ли в С аналог или сама функция explode или split, которая позволяет разбить строку на подстроки, беря за разделитель указанный символ (например explode($str,' ');
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2010, 08:43     Есть ли в С аналог функции explode(или split)?
Посмотрите здесь:

C++ Аналог дотнетовского метода Split на C++
Аналог метода Split для std::string C++
как сделать аналог split(с#) на с++ C++
Есть ли в с++ какой-нибудь аналог in C++
C++ Есть ли в студии аналог FloatToStr?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
palva
 Аватар для palva
2372 / 1594 / 190
Регистрация: 08.06.2007
Сообщений: 6,362
Записей в блоге: 4
15.09.2010, 09:40     Есть ли в С аналог функции explode(или split)? #2
В самом C 'встроенных' функций нет вообще, поэтому можно говорить лишь о функциях, включенных в библиотеки, признанные производителями компиляторов как стандартные. Строки имеются в библиотеках MFC, STL, но они доступны из языка C++, поэтому о них мы говорить не будем. В C отсутствует тип строка, вместо него используется массив символов 'с завершающим нулем'. Для той цели о которой вы пишете больше всего подходит функция strtok, которая поставляется со всеми компиляторами. Однако логика этой функции многим программистам кажется архаичной.
cosmo
Сообщений: n/a
15.09.2010, 10:08     Есть ли в С аналог функции explode(или split)? #3
А как выглядит её синтаксис?
KvazarM55
Сообщений: n/a
15.09.2010, 10:55     Есть ли в С аналог функции explode(или split)? #4
Код
#include <string.h>

char stroka[] = 'Razdelit 	 stroku
 na , chasti';
char seps[]   = ' ,	
'; //сепараторы (если больше одного)
char *token; //разделенная часть

token = strtok( stroka, seps );
while( token != NULL )
{
     printf( ' %s
', token );
     token = strtok( NULL, seps );
}
ничего сложного
Yandex
Объявления
15.09.2010, 10:55     Есть ли в С аналог функции explode(или split)?
Ответ Создать тему
Опции темы

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