头文件:stdio.h
sscanf可理解为:string+scanf
sprintf可理解为:string+printf
#include<stdio.h>
int main()
{
int n;
char str[100]="123";
sscanf(str,"%d",&n); //把字符数组str中的内容以"%d"的格式写到n中(从左到右)
printf("%d\n",n);
return 0;
}
#include<stdio.h>
int main()
{
int n=233;
char str[100];
sprintf(str,"%d",&n); //把n以"%d"的格式写到str字符数组中(从右到左)
printf("%s\n",str);
return 0;
}
使用sscanf将字符数组str中的内容按"%d:%lf:%s"的格式写到int型变量n,double型变量db,char型数组str2中
#include<stdio.h>
int main()
{
int n;
double db;
char str[100]="2048:3.14,hello",str2[100];
sscanf(str,"%d:%lf,%s",&n,&db,str2); //double型scanf用%lf,printf用%f
printf("b=%d,db=%.2f,str2=%s\n",n,db,str2);
return 0;
}
使用sprintf将int型变量n,double型变量db,char型数组str2写到字符数组str中
#include<stdio.h>
int main()
{
int n=12;
double db=3.1415;
char str[100],str2[100]="good";
sprintf(str,"%d:%.2f,%s",n,db,str2); //double型scanf用%lf,printf用%f
printf("str=%s\n",str);
return 0;
}
sscanf还支持正则表达式,如果配合正则表达式来进行字符串的处理,那么很多字符串的题目都将迎刃而解。