C语言中scanf用法运用和意义

C语言中scanf用法运用和意义

ID:47708863

大小:44.00 KB

页数:6页

时间:2020-01-20

C语言中scanf用法运用和意义_第1页
C语言中scanf用法运用和意义_第2页
C语言中scanf用法运用和意义_第3页
C语言中scanf用法运用和意义_第4页
C语言中scanf用法运用和意义_第5页
资源描述:

《C语言中scanf用法运用和意义》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

2、os/12DDWDFF@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、非%符号},注:{a

10、b

11、c}表示

12、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,%d之类。特别的:%*[width][{

16、h

17、l

18、I64

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

20、str[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("str=%s",str);  4.取仅包含指定字符集的字符

21、串。如在下例中,取仅包含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=hello%[^a-z]读取不在a-z之间的字符串,如果碰到a-z之间的字符则停止,如chars[]="HELLOkitty”;//注意:,逗号在不a-z之间sscanf(s,“%[^a-z]”,string);//string=HEL

23、LO%*[^=]前面带*号表示不保存变量。跳过符合条件的字符串。chars[]="notepad=1.0.0.1001";charszf

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

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

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