sprintf与sscanf
2019-01-20 本文已影响0人
lxr_
1.sprintf用于string版本的格式化输入/输出,其目标是字符串
例如,可以用其格式化一个字符串
char buf[16];
sprintf(buf,"Name:%s Age:%d Height:%.2f","ZhangSan",18,1.23);
则其将buf给格式化为:Name:ZhangSan Age:18 Height:%1.23
在SQLite中模糊匹配时,目标buf应该格式化为:select* from student where name like '%Zhang%'
如果这样写:sprintf(buf,select* from student where name like '%%s%',“Zhang”)是有问题的;
可以再加%:sprintf(buf,select* from student where name like '%%%s%%',“Zhang”)
2.sscanf是从一个具有格式的字符串中提取固定字段,要求在格式上严格匹配,。其返回值表示成功提取到的个数。
例如:char* date="2019-1-20";
int year,month,day;
int n=sscanf(date,"%d-%d-%d",&year,&month,&day);
则结果是:year=2019,month=1,day=20;