sprintf和sscanf的用法
#include <stdio.h>
int main(void)
{
//------------------------sprintf()----------------------------------------
//用法一:
{
char a[10];
int i;
i = sprintf(a,"123abc"); //将第二个的参数传给第一个参数
printf("%s,%d\n",a,i);//123abc,6
//i的值是sprintf()函数返回的值,返回的值为字符数。
}
//用法二:
{
char a[10],c='A';
int b=123,i;
i = sprintf(a,"99%c%d",c,b);//将第二个参数传给第一个参数,第三个参数为对第二个参数的补充
printf("%s,%d\n",a,i);//99A123,6
}
//-----------------------------sscanf()--------------------------------------------
{
char a[10]="123:ABC";
char b[10];
int c;
sscanf(a,"%d:%s",&c,&b);//将a中的内容以第二个参数的形式(类似于scanf,“:”被省略输入到后面的参数),传给后面的参数
printf("%d %s\n",c,b);//123 ABC
printf("%d\n",c);//123
}
利用sscanf和sprintf处理字符串和整数型的相互转换:
{
//===================利用sscanf()将字符串转换为整数型int==================================
char a[10]="123";
int b;
sscanf(a,"%d",&b);
printf("%d\n",b);//123
}
{
//=======================利用sprintf()将整数型int转换为字符串型==================================
int a=456;
char b[10]={0};
sprintf(b,"%d",a);
printf("%s\n",b);//456
}
return 0;
}