void CSerialDlg::OnButtonTest()
{
// TODO: Add your control notification handler code here
CString str;
char xxx[256];
unsigned char Data[20];
memset(xxx, 0x00, sizeof(xxx));
memset(Data, 0x00, sizeof(Data));
memcpy(Data, "\x83\xF1\x11\xC1\xEF\x8F\xC4", 7);
m_ComuPort.WriteComm(Data, 7);
for(int i = 0; i < 7; i++)
{
sprintf(xxx, "%02X ", Data[i]);
str += xxx;
}
m_strTX += str + "\r\n";
UpdateData(FALSE);
}
Data 배열에는
Data[0] = 0x83
Data[1] = 0xF1
Data[2] = 0x11
.
.
.
이런식으로 값이 들어가게 된다.
내가 원하는 건 Edit box에 83 F1 11 ... 이런 식으로 넣는것.
m_strTX = Data로 하면 CString 그러니까 아스키 값으로 들어가서 곤란해 하고 있었는데 그러다 sprintf를 발견했다.
sprintf(xxx, "%02X ", Data[i]); 이렇게 해결할 수 있었다.
sprintf -> Write formatted data to a string. 라고 msdn에 나와있었음.
sprintf가 있다는 사실은 알아도 막상 쓸려고 하면 왜 생각이 안나는지.
으흐흐흐흑 ㅠ.ㅠ
자세한 설명은 링크 참조 ^^;
http://msdn.microsoft.com/en-us/library/ybk95axf(VS.71).aspx
댓글 없음:
댓글 쓰기