C语言拾遗——sscanf

≯℡__Kan透↙ 提交于 2020-01-08 23:54:29

  今天写题用到了sscanf,怕忘赶紧记录一下

去百度了一下这玩意的函数原型好像是长这样的,微软上扣下来的

   int sscanf( const char *buffer, const char *format, [ argument ] ... ); 

它的用法和scanf差不多,scanf用于stdin(标准输入),sscanf用于指定区域输入

 

这是参数的说明:  

  buffer:存储的数据

  format:窗体控件字符串。

  argument:可选自变量

  locale:要使用的区域设置

测试代码:

  

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 int main(void)
 5 {
 6     int a;
 7     double b;
 8     char buf[512] = "";
 9 
10     //输出字符串
11     sscanf("123456 ", "%s", buf);
12     printf("%s\n", buf);
13 
14     //输出浮点
15     sscanf(buf, "%lf", &b);
16     printf("%lf\n", b);
17 
18     //输出整型
19     sscanf(buf, "%d", &a);
20     printf("%d\n", a);
21 
22     //特殊输出于scanf类比
23     sscanf("123456 ", "%4s", buf);
24     printf("%s\n", buf);
25 
26     sscanf("123456 abcdedf", "%[^ ]", buf);
27     printf("%s\n", buf);
28 
29     sscanf("123456abcdedfBCDEF", "%[1-9a-z]", buf);
30     printf("%s\n", buf);
31 
32     sscanf("iios/12DDWDFF@122", "%*[^/]/%[^@]", buf);
33     printf("%s\n", buf);
34 
35     sscanf("hello, world", "%*s%s", buf); //%*s表示第一个匹配到的%s被过滤掉
36     printf("%s\n", buf);
37 
38     
39     return 0;
40 }

 

  学习不易,诸君共勉!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!