swscanf_s和sscanf_s的使用
//(1)取出/后的字符串TCHARbuf[12]={0};swscanf_s(_T("a/n"),_T("%*[^/]/%s"),buf,12);TRACE(_T("%s"),buf);//(2)取出分隔字符串TCHARbuf3[10]={0};TCHARbuf4[10]={0};swscanf_s(_T("a=b"),_T("%[^=]%*[=]%s"),buf3,10,buf4,10);TRACE(_T("%s%s\n"),buf3,buf4);//(3)取出时间值inta,b,c;swscanf_s(_T("2018-12-29"),_T("%d-%d-%d"),&a,&b,&c);TRACE(_T("%d-%d-%d"),a,b,c);//(4)取出大小字字符串TCHARbuf1[12]={0};TCHARbuf2[12]={0};swscanf_s(_T("anAB"),_T("%[a-z]%[A-Z]"),buf1,12,buf2,12);TRACE(_T("%s,%s"),buf1,buf2);//(5)IP地址intip[4]={0};intret=sscanf_s("192.168.1.213","%d.%d.%d.%d",&ip[0],&ip[1],&ip[2],&ip[3]);if(ret!=4)TRACE(_T("iperror"));if(ip[0]>255||ip[0]<=0||ip[1]>255||ip[1]<=0||ip[2]>255||ip[2]<=0||ip[3]>255||ip[3]<=0){TRACE(_T("iperror"));}else{TRACE(_T("ipok"));}
邮件地址判断,如下:
TCHARbuf1[12]={0};TCHARbuf2[12]={0};TCHARbuf3[12]={0};intret=swscanf_s(_T("abc2018@QQ.com"),_T("%[a-zA-B0-9]%*[@]%[a-zA-Z]%*[.]%s"),buf1,12,buf2,12,buf3,12);TRACE(_T("ret=%d:%s%s%s\n"),ret,buf1,buf2,buf3);if(ret==3)TRACE(_T("正确的邮件地址"));elseTRACE(_T("不正确的邮件地址"));
取出串口号后的数字,如下:
CStringstrCOM=_T("COM12");TCHARbuff[10]={};swscanf_s(strCOM,_T("%*[a-zA-Z]%[0-9]"),buff,10);TRACE(_T("%s\n"),buff);
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。