P|20131120|20131120
C|F|350.0|50.0|350.0|16.67|50.0|16.67|1400.0|Y|15.0|
C|H|610.3|87.19|610.3|29.06|87.19|29.06|2441.2|Y|15.0|
C|L|1386.0|198.0|1386.0|66.0|198.0|66.0|5544.0|Y|15.0|
C|Z|1286.0|183.71|1286.0|61.24|183.71|61.24|5144.0|Y|15.0|
P|20131121|20131121
C|A|323.65|46.24|323.65|15.41|46.24|15.41|1294.6|Y|15.0|
C|B|323.65|46.24|323.65|15.41|46.24|15.41|1294.6|Y|15.0|
C|D|365.65|52.24|365.65|17.41|52.24|17.41|1462.6|Y|15.0|
C|E|365.65|52.24|365.65|17.41|52.24|17.41|1462.6|Y|15.0|
Выше это сообщение, поступающее с одного сервера в виде одной строки. Теперь я хочу проанализировать его и сохранить в структуре для обработки на языке C.Как разобрать данную строку в массив структурной переменной
Здесь для одной строки P (Period) может быть много строк C (класса). '|' это полевой разделитель, который следует игнорировать при хранении в структуре. Здесь число строк C (класс) не фиксировано для P.
Может ли кто-нибудь предложить мне на C, как я должен объявлять структуры и анализировать и хранить эти поля в нем. Согласно моей догадке, я должен будет объявить массив структуры во время выполнения для строк класса (C), поскольку он не является фиксированным. Исправлено одно: размер строки P (Period) всегда равен 17 байтам (или charector), исключая размер трубы (|) и C (класс), равный 61 символу, за исключением трубы (|............................... . или код
Я не уверен. Если я получу ваш вопрос, но почему бы вам не использовать список ссылок с P как узел заголовка, а остальные C как обычные узлы и добавить любые детали, которые вы хотите добавить в объявление структуры? – codeomnitrix
Но до этого он должен получить данные в строке, не так ли? – Srikanth
Дорогой codeomnitrix, может у, пожалуйста, помогите мне с некоторыми примерами деклараций структуры. Это действительно даст мне некоторую основную идею ... Спасибо заранее – user3064342