我注意到虽然
#include <stdio.h>
wprintf( L"Hello, %s\n", "world" );
与 Linux 下的标准 glibc 一起工作,同样的事情与 newlib 的工作方式不同。似乎 newlib 期望那里有 "%s" 的宽字符串,因此可以使用以下方法:
wprintf( L"Hello, %s\n", L"world" );
哪种行为是正确的?这是newlib中的错误吗?另外,有没有办法在 printf 字符串格式说明符中明确指定我想要一个“窄”字符串,而不是一个宽字符串?