#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <string>
#include <iostream>
using namespace std;
void test1(char* str)
{
memset(str,0,100);
sprintf(str,"%06s","1234");
printf("%s\n",str);
}
void test2(char* str)
{
memset(str,0,100);
sprintf(str,"%010d",11111);
printf("%s\n",str);
}
//指定宽度
void test3(char* str)
{
memset(str,0,100);
sprintf(str,"%010.3f",1233.1415);
printf("%s\n",str);
}
//不指定宽度
void test4(char* str)
{
memset(str,0,100);
sprintf(str,"%.3f",1233.1415);
printf("%s\n",str);
}
void test5(char* str)
{
//左对齐
memset(str,0,100);
sprintf(str,"%-10.3f",1233.1415);
printf("%s\n",str);
//右对齐,不足补0
memset(str,0,100);
sprintf(str,"%010.3f",1233.1415);
cout<<"==========="<<endl;
printf("%s\n",str);
}
void test6(char* str)
{
char s1[10]="asdf";
char s2[10]="qwer";
memset(str,0,100);
sprintf(str,"%.3s%.3s",s1,s2);
printf("%s\n",str);
}
void test7(char* str)
{
memset(str,0,100);
sprintf(str,"%07d",11111);
printf("%s\n",str);
}
int main()
{
char str[100]={0};
test1(str);
test2(str);
test3(str);
test4(str);
test5(str);
test6(str);
test7(str);
return 0;
}
下面是输出结果: