1.引入库cstdio
2.函数定义:
int sscanf (const char *str,const char * format,…);
返回值:成功时返回参数的个数,不成功返回0
用处:
常用于读取的一长串字符串的分割,从中分割出固定长度的字符串、整数、浮点型以及时间日期等的分割
(对于字符串的处理很好用!)
3.常见用法:
1)读取固定长度字符串/数值 %1d %2s
sscanf("121dwzsa","%1d",&x); //x=1
sscanf("dwef23","%5s",a); //a=dwef2
2)读取到指定字符为止 %[^]
sscanf("121d-zsa","%[^-]",&x); //x=121d
3)取仅包含指定字符字符串(注意这里是连续的字符串,否则只是截取一段)%[]
sscanf("121d-zsaxascds","%[1-9a-z]",&x);//x=121d
4)跳过某一段数值(%*s需要空格分割) %*d
sscanf("12dwefe","%*d%s",a);//a=dwefe
5)复杂字符串的分割
sscanf("21(232)-12:3124",
"%d(%d)-%d:%2d",&a,&b,&c,&d);
//21 232 12 31
//注意这时有的会缺少参数,可以看返回值参数的个数,(应用于前面有,后面缺省时,但是如果前面缺省,则结果不正确)