Re[3]: C парсить текстовый протокол
От: Abyx Россия  
Дата: 16.07.14 17:40
Оценка: -1 :))
Здравствуйте, kaa.python, Вы писали:

A>>да, использование С — это плохой выбор.


KP>Для разбора столь простого протокола, Си ни чем не хуже C++. Впрочем, как и для многих других куда более сложных задач.


сразу видно человека разбирающегося в программировании.
конечно ничем не хуже, языки-то почти одинаковые.
и код главное одинаковый. такой же объем, такая же безопасность, такое же удобство поддержки.
ну и главное юнит-тесты также удобно писать. или они не нужны? ну это вобщем-то не важно.
In Zen We Trust
Re[2]: C парсить текстовый протокол
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 16.07.14 16:12
Оценка: -1 :)
Здравствуйте, Abyx, Вы писали:

A>да, использование С — это плохой выбор.


Для разбора столь простого протокола, Си ни чем не хуже C++. Впрочем, как и для многих других куда более сложных задач.
Re: C парсить текстовый протокол
От: Abyx Россия  
Дата: 16.07.14 11:26
Оценка: -1
Здравствуйте, sv06000, Вы писали:

S>Думал использовать такой подхот в C но незнаю если это хорошый выбор.


да, использование С — это плохой выбор.
In Zen We Trust
Re: C парсить текстовый протокол
От: ivanzoid Россия https://zoid.cc
Дата: 16.07.14 21:44
Оценка: -1
http://lmgtfy.com/?q=c+split+string
Re[3]: C парсить текстовый протокол
От: B0FEE664  
Дата: 16.07.14 23:18
Оценка: +1
Здравствуйте, sv06000, Вы писали:

S>Регистрирую таблицу с указателями на функции для каждего типа header.

S>Пробегаю по таблице если функция наидена вызываю её для обработки данных.

На С можно сделать ровно так же.
И каждый день — без права на ошибку...
C парсить текстовый протокол
От: sv06000  
Дата: 16.07.14 08:52
Оценка:
Необходимо парсить простенкий протокол, не бить ногами , данные приходят через UDP .
Сам протокол такого формата
HEADER,DATA1,DATA2,DATA3\r

На python использовал таблицу с хандлерами и раскидивал пакеты по типу HEADER.
Думал использовать такой подхот в C но незнаю если это хорошый выбор.
Может есть идея или совет по етому поводу ?
Re[2]: C парсить текстовый протокол
От: sv06000  
Дата: 16.07.14 13:14
Оценка:
Здравствуйте, Abyx, Вы писали:

A>Здравствуйте, sv06000, Вы писали:


S>>Думал использовать такой подхот в C но незнаю если это хорошый выбор.


A>да, использование С — это плохой выбор.


C это проэкт и выбора нету

Я имел в виду мой подход
Re: C парсить текстовый протокол
От: c-smile Канада http://terrainformatica.com
Дата: 16.07.14 15:45
Оценка:
Здравствуйте, sv06000, Вы писали:

S>Необходимо парсить простенкий протокол, не бить ногами , данные приходят через UDP .

S>Сам протокол такого формата
S>HEADER,DATA1,DATA2,DATA3\r

S>На python использовал таблицу с хандлерами и раскидивал пакеты по типу HEADER.

S>Думал использовать такой подхот в C но незнаю если это хорошый выбор.
S>Может есть идея или совет по етому поводу ?

А по какому поводу собственно?

Если как строку распарсить в C то нет ничего проще чем
char header[NN]; int d1,d2,d3;
int n_fields_parsed = sscanf(inout,"%s,%d,%d,%d", header,&d1,&d2,&d3);


Если вопрос "раскидивал пакеты" то расскажи что именно под этим скрывается.
Re[2]: C парсить текстовый протокол
От: sv06000  
Дата: 16.07.14 15:55
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, sv06000, Вы писали:


S>>Необходимо парсить простенкий протокол, не бить ногами , данные приходят через UDP .

S>>Сам протокол такого формата
S>>HEADER,DATA1,DATA2,DATA3\r

S>>На python использовал таблицу с хандлерами и раскидивал пакеты по типу HEADER.

S>>Думал использовать такой подхот в C но незнаю если это хорошый выбор.
S>>Может есть идея или совет по етому поводу ?

CS>А по какому поводу собственно?


CS>Если как строку распарсить в C то нет ничего проще чем

CS>
CS>char header[NN]; int d1,d2,d3;
CS>int n_fields_parsed = sscanf(inout,"%s,%d,%d,%d", header,&d1,&d2,&d3);
CS>


CS>Если вопрос "раскидивал пакеты" то расскажи что именно под этим скрывается.


Регистрирую таблицу с указателями на функции для каждего типа header.
Пробегаю по таблице если функция наидена вызываю её для обработки данных.

Что типа этого.
Re[3]: C парсить текстовый протокол
От: sv06000  
Дата: 16.07.14 16:27
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Здравствуйте, Abyx, Вы писали:


A>>да, использование С — это плохой выбор.


KP>Для разбора столь простого протокола, Си ни чем не хуже C++. Впрочем, как и для многих других куда более сложных задач.


Разбор протокола это толко маленькая часть проэкта и неохота писать switch case на тону строк
Вопрос как организовать по умному это дело
Re[4]: C парсить текстовый протокол
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 16.07.14 17:47
Оценка:
Здравствуйте, Abyx, Вы писали:

A>сразу видно человека разбирающегося в программировании.


Рад что тебе нравится. Ты до сих пор не научился во время проф.дискуссий на личности не переходить, вроде взрослый дяденька?
Re[5]: C парсить текстовый протокол
От: Abyx Россия  
Дата: 16.07.14 18:10
Оценка:
Здравствуйте, kaa.python, Вы писали:

A>>сразу видно человека разбирающегося в программировании.


KP>Рад что тебе нравится. Ты до сих пор не научился во время проф.дискуссий на личности не переходить, вроде взрослый дяденька?


какие еще личности? я тебя похвалил, написал что ты "человек разбирающий в программировании". что тебе не нравится?

что касается взрослых дядек, то я тут кстати одного знаю, который С от С++ отличить не может, а понтов на весь форум.
печально же, из за таких как он — индустрия до сих пор в заднице, вот тот жа openssl — такие чудаки его писали на Си, потому что он "ничем не хуже С++", а потом там и хартблид, а потом еще какая-то зараза.
In Zen We Trust
Re[4]: C парсить текстовый протокол
От: c-smile Канада http://terrainformatica.com
Дата: 17.07.14 17:32
Оценка:
Здравствуйте, B0FEE664, Вы писали:

S>>Регистрирую таблицу с указателями на функции для каждего типа header.

S>>Пробегаю по таблице если функция наидена вызываю её для обработки данных.

BFE>На С можно сделать ровно так же.


еще можно gperf'ом сгенерирвать perfect hash функцию которая на "zero","one","two","three" выдает 0,1,2,3 для индексации в том массиве...
Re: C парсить текстовый протокол
От: Аноним  
Дата: 05.08.14 06:50
Оценка:
Здравствуйте, sv06000, Вы писали:

S>Необходимо парсить простенкий протокол, не бить ногами , данные приходят через UDP .

S>Сам протокол такого формата
S>HEADER,DATA1,DATA2,DATA3\r

S>На python использовал таблицу с хандлерами и раскидивал пакеты по типу HEADER.

S>Думал использовать такой подхот в C но незнаю если это хорошый выбор.
S>Может есть идея или совет по етому поводу ?

Boost::spririt? Или тебе нужен pure C ?
Re: C парсить текстовый протокол
От: smeeld  
Дата: 05.08.14 07:16
Оценка:
Здравствуйте, sv06000, Вы писали:

S>Думал использовать такой подхот в C но незнаю если это хорошый выбор.


От авторитетов пример здесь
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.