none
C++ 如何将几个16进制的字符转换成字符串 RRS feed

  • 问题

  • 现有一个字符数组,有四个字符,每个字符都是一个32位的十六进制数,即最大256的十六进制数。如何正确的将这些数据以16进制的形式组合成字符串(CString)
    2013年9月2日 8:42

答案

  • 需要确定是MBCS还是UNICODE,如果是MBCS

    CString.format(”%s”, char*);

    如果是UNICODE

    则是

    CString.format(L”%s”, char*);


    麻烦把正确答案设为解答。

    通过串口接收到一个十六进制的字符串,直接现在在EDIT编辑框控件,但是数字部分确实乱码……麻烦您了  UNICODE的
    • 已标记为答案 GT_MDRG 2013年9月7日 1:15
    2013年9月3日 7:07

全部回复

  • 需要确定是MBCS还是UNICODE,如果是MBCS

    CString.format(”%s”, char*);

    如果是UNICODE

    则是

    CString.format(L”%s”, char*);


    麻烦把正确答案设为解答。

    2013年9月2日 12:47
    版主
  • CString::AppendFormat(...);

    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    2013年9月3日 2:21
    版主
  • 需要确定是MBCS还是UNICODE,如果是MBCS

    CString.format(”%s”, char*);

    如果是UNICODE

    则是

    CString.format(L”%s”, char*);


    麻烦把正确答案设为解答。

    通过串口接收到一个十六进制的字符串,直接现在在EDIT编辑框控件,但是数字部分确实乱码……麻烦您了  UNICODE的
    • 已标记为答案 GT_MDRG 2013年9月7日 1:15
    2013年9月3日 7:07
  • 你好,

    根据你的描述,应该先将32位的字符通过WcharToChar函数进行转换,进而再将其转为十六进制的字符串。

    具体实现,请参考如下链接中的代码。

    C++多字节与宽字节间的转换(wchar_tchar转换)

    http://blog.csdn.net/mfcing/article/details/7458898

    c++ byte类型数组转十六进制字符串的几种代码实现

    http://blog.csdn.net/itmes/article/details/7645600

    希望这个可以帮到你!

     

    May


    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support

    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    2013年9月3日 9:46