当前位置: 首页 > 工具软件 > S#arp Darc > 使用案例 >

%s %*s %*.*s

李振国
2023-12-01

1.在scanf中使用,则添加了 * 的部分会被忽略,不会被参数获取%*d,%*s

2. 在printf,以*作为变量控制输出格式

%Ns ( “%*s”,N,a ): 至少输N位字符串,超长不截断,不足右对齐

%-Ns : 至少输N位字符串,超长不截断,不足左对齐

%N.Ms:("%*.*s",N,M,a) 至少输N位字符串,超M截断 ,不足右对齐

%-N.Ms: 至少输N位字符串,超M截断 ,不足左对齐

#include<stdio.h>
#include<math.h>
#include<string.h>
#include<algorithm>
using namespace std;

int main()
{
    char a[20]="123456789";
    printf("1 不限长:\n");
    printf("至少15位,右对齐:%15s\n",a);
    printf("至少15位,左对齐:%-15s\n",a);
    printf("等价于:\n");
    printf("%*s\n",15,a);
    printf("%-*s\n",15,a);

    printf("\n2 限长:\n");
    printf("最多7不对齐:%.7s\n",a);
    printf("等价:%.*s\n",7,a);

    printf("\n3 可对齐限长:\n");
    printf("%*.*s\n",10,5,a);
    printf("%10.5s\n",a);
    printf("%-*.*s\n",10,5,a);
    printf("%-10.5s\n",a);
    
    return 0;
}

 类似资料: