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