zoukankan      html  css  js  c++  java
  • WinCE 下 RETAILMSG 如何能在串口工具(SSCOM) 中输出汉字

    例如,如下的输出:

    [Test]path is: ResidentFlashMusicMP3竿 - 莶?.mp3
    [Test]path is: ResidentFlashMusicMP3蓝莲花-许巍.mp3

    一般情况下,大家都是使用 RETAILMSG 直接输入 TCHAR 型的字符串的,这样的话在串口工具中看到的结果就会像第一行。怎么才能看到如第二行的输出呢?

    1 char cName[MAX_PATH];  
    2 TCHAR *ptcTst = L"\ResidentFlash\Music\MP3\蓝莲花-许巍.mp3";     // 测试汉字通过串口工具输出  
    3   
    4 // 因为串口工具一般只支持 char 型字符串,而不是 Unicode 字符串。所以...  
    5 ZeroMemory(cName,sizeof(char) * MAX_PATH);  
    6 ::WideCharToMultiByte(CP_ACP, 0, ptcTst, -1, cName, MAX_PATH, NULL, NULL);  
    7   
    8 RETAILMSG(1,(L"[Test]path is: %S
    ",cName));  
    9 RETAILMSG(1,(L"[Test]path is: %s
    ",ptcTst));  

    使用以上两句输出,在串口调试工具,如: sscom32.exe 中的输出如上行所示。

    在使用 VS2005/VS2008 等调试工具时,在 Output 窗口输出时,使用 RETAILMSG(1,(L"[Test]path is: %s ",ptcTst)); 可以看到汉字正确显示。
    如果使用 RETAILMSG(1,(L"[Test]path is: %S ",cName)); 则在 VS 工具的 Output 窗口中可能无法看到正确的显示。这时需要使用宏 _DEBUG 来区分实现两种情况,在 Debug/Release 下分别调用不同的实现。
    如果无法使用 VS 调试功能,则 RETAILMSG(1,(L"[Test]path is: %S ",cName)); 输出是一个很好的选择。

  • 相关阅读:
    postman调试参数格式
    Dapper.Contrib.Extensions扩展
    kafka dashborad 安装流程(kafka_exporter + prometheus + grafana)
    Kafka学习入门(windows环境下)
    Windows环境下载安装Kafka
    Windows环境下Zookeeper的安装及启动
    hdu4087(概率dp)
    poj3162(树形dp+线段树)
    Gym
    牛客小白月赛13 小A的柱状图(单调栈)
  • 原文地址:https://www.cnblogs.com/91program/p/5200945.html
Copyright © 2011-2022 走看看