代码例子:sprintf(cTmpdir,"%04s",sPkgRespcd);
出现提示: warning: '0' flag used with ?s?printf format
原因如下:这个函数的格式跟printf的是差不多一样的,不过在gcc里面,好像那个0是没用的,左边不会补0,会补空格,
#include <stdio.h>
int main(void)
{
char array[20];
char *str = "1234";
snprintf(array, sizeof(array), "%08.8s", str);
printf("%s", array);
getchar();
}
----------------------------------------------------------
duck@duck ~/c $ gcc -o sn snprintf.c
snprintf.c: In function ‘main’:
snprintf.c:8: warning: '0' flag used with ‘%s’ gnu_printf format
snprintf.c:8: warning: '0' flag used with ‘%s’ gnu_printf format
duck@duck ~/c $ ./sn
1234
参考http://blog.csdn.net/sunboy_2050/article/details/5909946