Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Network{
- public:
- string src_ip_;
- string alternative_src_ip_;
- array<unsigned char,6> mac_;
- string toString(){
- stringstream ss;
- ss << src_ip_ << SEPERATOR << alternative_src_ip_ << SEPERATOR ;
- return ss.str();
- }
- }
- void printMac(array<unsigned char, 6> mac) {
- printf("%02x:%02x:%02x:%02x:%02x:%02xn",
- (unsigned char) mac[0], (unsigned char) mac[1],
- (unsigned char) mac[2], (unsigned char) mac[3],
- (unsigned char) mac[4], (unsigned char) mac[5]);
- }
- void printMac(array<unsigned char, 6> mac, char (&out)[18]) {
- sprintf(out, "%02x:%02x:%02x:%02x:%02x:%02x",
- (unsigned char) mac[0], (unsigned char) mac[1],
- (unsigned char) mac[2], (unsigned char) mac[3],
- (unsigned char) mac[4], (unsigned char) mac[5]);
- }
- std::ostream &operator<<(std::ostream &os, std::array<unsigned char, 6> mac) {
- char buf[18];
- printMac(mac, buf);
- return os << buf << 'n';
- }
- std::ostringstream s;
- unsigned char arr[6] = { 0, 14, 10, 11, 89, 10 };
- s << std::hex << std::setfill('0');
- for (int i = 0; i < sizeof(arr); i++)
- {
- if (i > 0) s << ':';
- // Need to:
- // - set width each time as it only
- // applies to the next output field.
- // - cast to an int as std::hex is for
- // integer I/O
- s << std::setw(2) << static_cast<int>(arr[i]);
- }
- ss << boost::format("%02x:%02x:%02x:%02x:%02x:%02xn") % mac[0] % mac[1] % mac[2] % mac[3] % mac[4] % mac[5];
Add Comment
Please, Sign In to add comment