printf格式化字符串有关问题

printf格式化字符串问题#include stdio.h#include string.hint main(){char *szStr1234567890prin

printf格式化字符串问题

#include <stdio.h>
#include <string.h>
int main()
{
char *szStr="1234567890";
printf("[%-*.3s]\n",strlen(szStr),szStr);
return 0;
}

结果是这样的
[123       ]

我想要的结果是这样的
[123*******]

请问如何通过修改printf的格式控制参数达到这个效果 printf C
[解决办法]
引用:
先初始化一个全*的足够大的字符串,这样是不是能达到我要的效果?
不过 你要注意 字符串尾部的 '\0'

    char szTemp[1024];
    char *szStr="1234567890";
    memset(szTemp,'*',sizeof(szTemp));
    printf("[%-.3s%.*s]\n", szStr, 10-3, szTemp);