程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 保存數據-MSComm控件串口接收數據存到txt中出現亂碼

保存數據-MSComm控件串口接收數據存到txt中出現亂碼

編輯:編程綜合問答
MSComm控件串口接收數據存到txt中出現亂碼

我在用C++做一個串口程序,用了MSComm控件,新手遇見了點問題,我用串口助手試了試我的程序,如果十六進制發送那麼我接收的數據和串口助手發送的數據不一致,出現了亂碼。我還想把我接收到的數據存儲在txt文件中,可能是我數據類型沒有轉換對,txt文件裡的接收數據也是亂碼,不知道哪位能指點一下。
void CSendcomDlg::OnComm()
{
// TODO: Add your control notification handler code here
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k,counts;
char *str;
CString inputdata;
CByteArray hexdata;
//BYTE rxdata[2048];
CString strtemp;

if(m_Com.GetCommEvent()==2) 
{             
    variant_inp=m_Com.GetInput();

    str=(char*)(unsigned char*)variant_inp.parray->pvData;

    safearray_inp=variant_inp;
    len=safearray_inp.GetOneDimSize();
    for(k=0;k<len;k++)
        safearray_inp.GetElement(&k,rxdata+k);
    for(k=0;k<len;k++) 
    {
        BYTE bt=*(char*)(rxdata+k); 
        strtemp.Format("%c",bt); 
        m_recv+=strtemp; 
    }
    FILE *pFile = fopen("data.txt","a");
    fwrite(str,1, strlen(str), pFile);
    fclose(pFile);
}
UpdateData(FALSE);

}

最佳回答:


亂碼和串口傳輸沒有關系,
要麼你發送接收的數據不一致,要麼兩邊的解碼不一致

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved