我想要一个程序从包含流行网站的原始跟踪路由数据的文本文件“rawdata.txt”中提取 IP 地址,如下所示。
Tracing route to www.google.com [173.194.38.145]
over a maximum of 30 hops:
1
Tracing route to ds-sg-fp3.wg1.b.yahoo.com [106.10.187.79]
over a maximum of 30 hops:
Trace complete.
您可以在 C 中创建一个小程序,该程序将从标准输入读取字节并查找以下模式:
%d.%d.%d.%d\n
...一旦找到此模式,它将分别存储IP地址并继续搜索。您需要将文本文件通过管道传输到程序:
./program < textfile.txt
您需要逐行读取文件并通过' '
分隔符连接每一行。然后您需要检查第 5 个令牌是否是 IP 地址(仅数字和点)。如果没有,则从第 6 个令牌中取出。
如果您正在编写多线程应用程序,则不鼓励使用 strtok。您可以编写自己的标记器或 sscanf。