sscanf用法以及正则表达式的用法

sscanf用法以及正则表达式的用法

ID:1495918

大小:49.00 KB

页数:9页

时间:2017-11-12

sscanf用法以及正则表达式的用法_第1页
sscanf用法以及正则表达式的用法_第2页
sscanf用法以及正则表达式的用法_第3页
sscanf用法以及正则表达式的用法_第4页
sscanf用法以及正则表达式的用法_第5页
资源描述:

《sscanf用法以及正则表达式的用法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、sscanf用法以及正则表达式的运用表头文件#include(stdio.h)定义函数intsscanf(constchar*str,constchar*format,........);函数说明sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。返回值成功则返回参数数目,失败则返回-1,错误原因存于errno中。周星星的代码:#includeintmain(){      constchar*s="iios/12DDWDFF

2、@122";      charbuf[20];      sscanf(s,"%*[^/]/%[^@]",buf);      printf("%s",buf);      return0;}结果为:12DDWDFFsscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源。函数原型:intscanf(constchar*format[,argument]...);其中的format可以是一个或多个{%[*][width][{h

3、l

4、I64

5、L}]type

6、''

7、't'

8、''

9、

10、非%符号},注:{a

11、b

12、c}表示a,b,c中选一,[d],表示可以有d也可以没有d。width:宽度,一般可以忽略,用法如:constcharsourceStr[]="hello,world";charbuf[10]={0};sscanf(sourceStr,"%5s",buf);//%5s,只取5个字符cout<

13、l

14、I64

15、L}:参数的size,通常h表示单字节size,I表示2字节size,L表示4字节size(double例外),l64表示8字节size。type:这就很多了,就是%s

16、,%d之类。特别的:%*[width][{h

17、l

18、I64

19、L}]type表示满足该条件的被过滤掉,不会向目标参数中写入值。如:constcharsourceStr[]="hello,world";charbuf[10]={0};sscanf(sourceStr,"%*s%s",buf);//%*s表示第一个匹配到的%s被过滤掉,即hello被过滤了cout<

20、,贪婪性1.常见用法。以下是引用片段:  charstr[512]={0};  sscanf("123456","%s",str);  printf("str=%s",str);  2.取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。以下是引用片段:  sscanf("123456","%4s",str);  printf("str=%s",str);  3.取到指定字符为止的字符串。如在下例中,取遇到空格为止字符串。以下是引用片段:  sscanf("123456abcdedf","%[^]",str);  printf("

21、str=%s",str);  4.取仅包含指定字符集的字符串。如在下例中,取仅包含1到9和小写字母的字符串。以下是引用片段:  sscanf("123456abcdedfBCDEF","%[1-9a-z]",str);  printf("str=%s",str);  5.取到指定字符集为止的字符串。如在下例中,取遇到大写字母为止的字符串。以下是引用片段:  sscanf("123456abcdedfBCDEF","%[^A-Z]",str);  printf("str=%s",str);搜集一些特殊用法: %[]的用法:%[]表示要读入一

22、个字符集合,如果[后面第一个字符是”^”,则表示反意思。                     []内的字符串可以是1或更多字符组成。空字符集(%[])是违反规定的,可                     导致不可预知的结果。%[^]也是违反规定的。          %[a-z]读取在a-z之间的字符串,如果不在此之前则停止,如              chars[]="hello,myfriend”;//注意:,逗号在不a-z之间              sscanf(s,“%[a-z]”,string);//string=

23、hello%[^a-z]读取不在a-z之间的字符串,如果碰到a-z之间的字符则停止,如              chars[]="HELLOkitty”;//注意:,逗号在不a-z之间   

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。