读书人

printf格式化字符串有关问题

发布时间: 2013-07-08 14:13:00 作者: rapoo

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

读书人网 >C语言

热点推荐