Разбор строк

Модератор: Модераторы разделов

Аватара пользователя
kt315e
Сообщения: 318
ОС: Debian 11

Разбор строк

Сообщение kt315e »

Подскажите чем и как пользуетесь для разбора строк?
strtok - странно как то работает, в частности что он должен возвращать на
пустую строку? Попробовал сам написать коряво получается.
Спасибо сказали:
kamre
Сообщения: 243
ОС: Win7/Ubuntu 11.10

Re: Разбор строк

Сообщение kamre »

kt315e писал(а):
08.02.2008 12:55
Подскажите чем и как пользуетесь для разбора строк?
strtok - странно как то работает, в частности что он должен возвращать на
пустую строку? Попробовал сам написать коряво получается.

http://www.cplusplus.com/reference/clibrar...ing/strtok.html
Once the terminating null character of str has been found in a call to strtok, all subsequent calls to this function with a null pointer as the first argument return a null pointer.
Спасибо сказали:
Аватара пользователя
kt315e
Сообщения: 318
ОС: Debian 11

Re: Разбор строк

Сообщение kt315e »

Пока решил в С++ чтением из строки потоком. Несколько громозко. Да и в С естественно нет такого. Хотелось бы удобненького.
Спасибо сказали:
Аватара пользователя
JackYF
Сообщения: 129
ОС: Debian GNU/Linux

Re: Разбор строк

Сообщение JackYF »

QString из QT имеет удобный интерфейс. Если без Qt, тогда std::stringstream. Если совсем туго, то самописными функциями.
"В природе не существует инструмента, машины или устройства, по силе и виртуозности сравнимого с человеческой рукой."
В. Г. Бэнхэм.
---
Ваяю "нелинейный" клавиатурный тренажёр для GNU/Linux - nlkt.
Спасибо сказали:
Аватара пользователя
Folderx
Сообщения: 296
ОС: fedora, mandriva

Re: Разбор строк

Сообщение Folderx »

kt315e писал(а):
08.02.2008 12:55
Подскажите чем и как пользуетесь для разбора строк?
strtok - странно как то работает, в частности что он должен возвращать на
пустую строку? Попробовал сам написать коряво получается.

strtok неудобная когда несколько строк надо резать параллельно.

strcspn для разрезания больше годится, можно задать список разделителей, и каждый новый раз делать шаг в обрабатываемой строке.
Спасибо сказали: