[C/C++] daten von stdandardin richtig verarbeiten

der trapdeamon von netsnmp schickt mir die empfangenen trap daten an den stdin eines gestarteten prozesses. das bedeutet somit, dass ich folge zeichenfolge an meinem stdin bekomme:

Code:
172.16.1.3
172.16.1.3
system.sysUpTime.0 Wrong Type (should be Timeticks): 79821589
.iso.org.dod.internet.snmpV2.snmpModules.snmpMIB.snmpMIBObjects.snmpTrap.snmpTrapOID.0 enterprises.9.9.215.2.0.1
enterprises.9.9.215.1.1.8.1.2.0 "01 00 01 00 05 5D A5 9B D8 00 13 01 00 01 00 05
5D 6E C7 E0 00 14 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "

ziel ist es schlussendlich folgende zuweisungen zu haben:
Code:
ip1 = "172.16.1.3"
ip2 = "172.16.1.3"

oid[1] = "system.sysUpTime.0 Wrong Type (should be Timeticks)"
val[1] = 79821589

oid[2] = ".iso.org.dod.internet.snmpV2.snmpModules.snmpMIB.snmpMIBObjects.snmpTrap.snmpTrapOID.0"
val[2] = "enterprises.9.9.215.2.0.1"

oid[3] = "enterprises.9.9.215.1.1.8.1.2.0"
val[3] =  "01 00 01 00 05 5D A5 9B D8 00 13 01 00 01 00 05 5D 6E C7 E0 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "

hab das ganze mal durch eine "while (cin >> temp)" schleife wandern lassen. dabei bekomme ich das ganze leider nicht linienweise und es gibt ne umstädnliche bastelstunde um das ganze wieder zusammenzusetzen.


zum aufbau der übergabe ist folgendes zu sagen:
- die zeichenfolge vor dem ersten = zeichen kann keinen lehrschlag haben.
- falls der wer der dazugehöhrenden oid mehr als eine zeile braucht ist dieser zwischen "-zeichen


wenn jemand schon was fertiges für die trap verarbeitung im nähkästchen liegen hat hätte ich natürlich auch nichts dagegen :-). es muss auch nicht unbedingt auf netsnmp aufsetzen.

[edit]ach ja, bitte kein fachchinesisch...bin ein beginner was c/c++ angeht[/edit]
 
Zurück
Oben