728x90
반응형
//Hex 값을 입력하면 ASCII 값으로출력
CString outbuf="6372";
CString temp,output;
temp = outbuf;
int len=temp.GetLength();
for(int i=0; i<len/2; i=i++){
char str[3];
int num=0;
strcpy_s(str, temp.Mid(i*2,2));
num=(int)strtol(_strupr(str),NULL,16); //Hex String toInt
//output.Format("%d ",num);
output+=(char)num;
}
outbuf=(LPCTSTR)output;
//Hex 값을 입력하면 10 진수 값으로 출력
CString temp,output;
temp = "FFFF";
int len=temp.GetLength();
char str[5];
strcpy_s(str, temp);
int num;
num=(int)strtol(str,NULL,16); //Hex String to Int
output.Format("%d ",num);
//OnReceive 함수 구현
LRESULT CSerialTestDlg::OnReceive(WPARAM length, LPARAM lpara)
{
CString str;
char data[20000];
str = "";
if(m_Comm)
{
m_Comm->Receive(data,length);
data[length]='\0';
CString temp="";
for(int i = 0;i<(int)length;i++)
{
//if(data[i] != ' '){
// temp.Format("%02X", data[i]);
str += data[i];
//}
}
CString output="";
char cStr[2];
for(int i= 0; i<sizeof(str)-1; i++){
strcpy_s(cStr, str.Mid(i,1));
temp.Format("%02X", cStr[0]);
output += temp;
}
m_RcvData.ReplaceSel(output+"\n");
}
return 0;
}
//10진수 값을 입력하면 Hex 값으로 출력
long val = 255; // 또는 val=255 + 0x0;
CString output;
output.Format("%X",val);
//output = "FF";
//음수값 표현
long val = 255;
val = 0x0 - val - 0x01;
CString output;
output.Format("%X",val);
//output = "FFFFFF00";
728x90
반응형
'프로그래밍 > MFC' 카테고리의 다른 글
MFC 비트맵 이미지 (0) | 2020.11.02 |
---|---|
MFC 그리기 모드 (0) | 2020.11.02 |
MFC 현재 사용중인 IP 가져오기 (0) | 2020.11.02 |
MFC 유니코드 ASCII 변환 (0) | 2020.11.02 |
MFC 멀티바이트 To 유니코드 (0) | 2020.11.02 |