Develop
16진수로 값 출력 및 mac address 출력하기 (C++)
Dork94
2017. 9. 22. 16:16
패킷을 디버깅 또는 내용을 알기 위해서 16진수로 값을 출력 하거나, mac address를 출력해야하는 경우가 있는데
아래의 소스코드를 통해 간단하게 출력할 수 있습니다. 또한, 메모리에 있는 값을 출력할때에도 사용 할 수있고, 메모리에 저장되어 있는 값을 디버깅 할때에도 사용할 수 있습니다.
#include <iostream>
#include <iomanip>
using namespace std;
void printLine()
{
cout<<"-----------------------------------------------"<<endl;
}
void printByHexData(u_int8_t *printArr, int length)
{
for(int i=0;i<length;i++)
{
if(i%16==0)
cout<<endl;
cout<<setfill('0');
cout<<setw(2)<<hex<<(int)printArr[i]<<" ";
}
cout<<dec<<endl;
printLine();
}
void printByMAC(u_int8_t *printArr,int length)
{
for(int i=0;i<length;i++)
{
cout<<setfill('0');
cout<<setw(2)<<hex<<(int)printArr[i];
if(i!=5)
cout<<":";
}
cout<<dec<<endl<<endl;
}