【发布时间】:2011-07-18 05:43:39
【问题描述】:
Visual Studio 有一个 size and distance specification chart 说我可以做这样的事情,使用 h 前缀来指定单字节字符串,而不管 printf 或 wprintf:
int main()
{
char test[]= "abc";
_tprintf(_T("%hs\n"),test);
}
但如果我用 mingw gcc 和 -Wall 编译相同的东西,我会收到以下警告:warning: format '%hs' expects type 'short int *', but argument 2 has type 'char *'
在 mingw 中指定单字节字符串的方法是可接受的吗?
谢谢
编辑-这个问题已经在下面得到了相当详细的回答。简短的回答是肯定的,在 mingw 中指定单字节字符串是一种可接受的方式,并且可以忽略警告。
【问题讨论】:
标签: c mingw printf gcc-warning format-specifiers