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);