anonymous@RULINUX.NET~# Last login: 2024-04-19 11:28:28
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

Re:C, расщепить строку на слова

C это C или C++ ? :) источник это условно string или stream ?

anonymous(*) (2009-07-05 10:12:34)

Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.10 (like Gecko) (Debian)

[Ответить на это сообщение]
[#] [Добавить метку] [Редактировать] Ответ на: Re:C, расщепить строку на слова от anonymous 2009-07-05 10:12:34
avatar
Скрыть

Re:C, расщепить строку на слова

>чистый C, но glib в проекте уже есть, так что оверхеда лишнего на регеспы не будет

не про размер речь, а про скорость обработки

progman(*)(2009-07-05 14:29:03)

Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.10 (like Gecko) (Debian)
[#] [Добавить метку] [Редактировать] Ответ на: Re:C, расщепить строку на слова от anonymous 2009-07-05 10:12:34
avatar
Скрыть

C, расщепить строку на слова

Появилась такая проблема - нужно разделить строку вида:

убить "всех человеков" насмерть топором

на подстроки по словам

убить всех человеков насмерть топором

(то, что в кавычках считается одним словом - поэтому цикл+isspace не подойдет - с флагами на открытие-закрытие кавычек тоже лень возиться :/)

разделители - пробельные символы (может быть несколько)

есть мысля запользовать g_regex_split из glib, но вдруг есть более изящное решение?

anonymous(*)(2009-07-05 10:12:34)

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru)
[#] [Добавить метку] [Редактировать] Ответ на: Re:C, расщепить строку на слова от anonymous 2009-07-05 10:12:34
avatar
Скрыть

Re:C, расщепить строку на слова

чорт, расщепление должно быть такое

убить

всех человеков

насмерть

топором

anonymous(*)(2009-07-05 10:13:17)

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru)
[#] [Добавить метку] [Редактировать] Ответ на: Re:C, расщепить строку на слова от anonymous 2009-07-05 10:12:34
avatar
Скрыть

Re:C, расщепить строку на слова

Че-то мне подсказывает, что regexp-ы тут - это overkill.

Я бы ограничился strtok из glibc-а и одним if-ом.

anonymous(*)(2009-07-05 12:47:09)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.4) Gecko/20070601 SeaMonkey/1.1.2
[#] [Добавить метку] [Редактировать] Ответ на: Re:C, расщепить строку на слова от anonymous 2009-07-05 10:12:34
avatar
Скрыть

Re:C, расщепить строку на слова

>флагами на открытие-закрытие кавычек тоже лень возиться :/

Флаг то один - bool flag_substring_open;

progman(*)(2009-07-05 12:29:47)

Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.10 (like Gecko) (Debian)
[#] [Добавить метку] [Редактировать] Ответ на: Re:C, расщепить строку на слова от anonymous 2009-07-05 10:12:34
avatar
Скрыть

Re:C, расщепить строку на слова

чистый C, но glib в проекте уже есть, так что оверхеда лишнего на регеспы не будет

anonymous(*)(2009-07-05 13:57:06)

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru)
[#] [Добавить метку] [Редактировать] Ответ на: Re:C, расщепить строку на слова от anonymous 2009-07-05 10:12:34
avatar
Скрыть

Re:C, расщепить строку на слова

>strtok

хм, пожалуй оно, спасибо, поковыряю

anonymous(*)(2009-07-05 13:59:17)

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru)
Этот тред читают 1 пользователь:
Анонимных: 1
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!