完美体育·(中国)手机网页版科技提醒您:您的浏览器版本过低或者使用了兼容模式,为了获得更好的浏览体验,建议使用IE10以上的浏览器或使用极速模式。 请升级浏览器以获得更好的体验!

完美体育·(中国)手机网页版 > 技术文章 > ARM软件工具 > Keil MDK > MDK-ARM中国版支持 unicode 字符方法

MDK-ARM中国版支持 unicode 字符方法

问题类别:ARM软件工具 > Keil MDK 浏览次数:9881
发布日期:2012/4/23 17:35:57 文章来源:完美体育·(中国)手机网页版科技
回复日期:2020/12/20 9:39:05

环境说明

RealView MDK中国版3.05以上

分析描述

当编译如下的测试程序时: void wide_ch_test(void) { wchar_t str1[] = L"Size of message is: "; wchar_t str2[80]; swprintf(str2,sizeof(str2)/sizeof(wchar_t),L"%s",str1); gputsw(str2); } swprintf函数调用这一行,编译提示警告 warning: #181-D: argument is incompatible with corresponding format string conversion

问题解答

      问题分析:MDK-ARM中国版支持宽字符,但要使用正确的格式字符串。
      操作步骤:
      将"%s"改为 "%ls",在测试程序中将swprintf函数调用语句修改为:
      swprintf (str2, (sizeof(str2)/sizeof(wchar_t)), L"%ls", str1);