用C++解析一个字符串

dul*_*uli 1 c++ logging parsing text-parsing

我有一大堆日志行,我需要解析每一行(因此效率非常重要).

每个日志行都是表单

cust_name time_start time_end(IP或URL)*

所以ip地址,时间,时间和一个可能是空的ip地址列表或用分号分隔的url.如果最后一个列表中只有ip或url,则没有分隔符.如果超过1,则用分号分隔.

我需要一种方法来解析这一行并将其读入数据结构.time_start或time_end可以是系统时间或GMT.cust_name也可以有多个以空格分隔的字符串.

我可以通过逐字符阅读并基本上编写自己的解析器来实现这一点.有一个更好的方法吗 ?

Mic*_*fik 5

我已经成功使用了Boost Tokenizer这种东西.它可以帮助您使用令牌之间的自定义分隔符将输入流分解为令牌.