C语言拾遗——sscanf

  今天写题用到了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/[email protected]", "%*[^/]/%[^@]", 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 }

  学习不易,诸君共勉!

原文地址:https://www.cnblogs.com/daker-code/p/12169135.html

时间: 2024-12-20 19:43:10

C语言拾遗——sscanf的相关文章

C语言函数sscanf()的用法 (转载

在我的学习过程中,从文件读取数据是一件很麻烦的事,所幸有sscanf()函数. C语言函数sscanf()的用法 sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)

C语言函数sscanf()的用法(转)

转自:http://www.cnblogs.com/lyq105/archive/2009/11/28/1612677.html C语言函数sscanf()的用法 sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与scanf

C语言拾遗(一)

越来越体会到C语言的重要性,不管是在计算机底层的理解上,还是在算法数据结构上,所以遂决定重新拾起C语言,不定期更新一些知识点. 推荐博客:http://blog.csdn.net/itcastcpp 1.程序编译链接原理预处理:.c -> .i gcc -E hello.c -o hello.i 编译:.i / .c -> .sgcc -S hello.i -o hello.s 汇编:.s -> .ogcc -c hello.s -o hello.o 链接:.o -> 可执行程序a

C语言函数sscanf()的用法

sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源. 其中的format可以是一个或多个 {%[*] [width] [{h |

C语言-拾遗(1) 关键字 &amp;&amp; 运算符

关键字 extern static const typedef define sizeof union extern表示的是"已经存在一个变量,但是不在当前的编译单元内,需要在其他编译单元中寻找." extern尽量写到.h文件中Extern语句频繁的用于在多个文件之间的跨范围数据传递 static会定义一个变量 1)修饰局部变量便存放在静态数据区 2)修饰全局变量(使得该变量只能本源文件可见) 对于一个全局变量,它既可以在本源文件中被访问到,也可以在同一个工程的其它源文件中被访问(只

c语言拾遗

枚举常量: 枚举是一个常量整型值的列表的列表,例如 enum boolean{NO,YES}: 在没有显示说明的情况下,enum类型中第一个枚举名的值为0,第二个为1,以此类推. 如果只指定了部分枚举名的值,那么未指定的枚举名的值将依着最后一个指定值递增,步长为1. enum days {one = 1, two=3, three}; enum days day = one; //或enum{one=1, two=3, three}day; printf("%d %d %d",day,

C语言-拾遗(2) 指针 &amp;&amp; 声明

几个容易混淆的概念: 指针常量:即指针本身的值是不可改变的,而指针指向的变量的值是可以改变的; 常量指针:即指针指向的变量的值是不可改变的,而指针本身的值是可以改变的; 指向常量的指针 指针函数:函数,返回的是一个指针 函数指针:指针,指向一个函数(这里可以继续嵌套,指向的函数返回一个函数指针........) 数组指针:指针,指向数组 指针数组:数组内存放的是指针 指针与数组 1.:数组对应着一块内存区域(符号表中存在),而指针是指向一块内存区域.其地址和容量在生命期里不会改变,只有数组的内容

C 语言sscanf

C语言以sscanf逗号作为分割符 char buf_a[10]={0}; char buf_c[10]={0}; char buf_b[5]={0}; sscanf("/dev/ttyS0,115200,8,1,n","%[^,],%[^,],%[^,],%[^,],%s",buf_a,buf_c,&buf_b[1],&buf_b[2],&buf_b[3]); printf("*****************\n");

C语言库函数篇1:sscanf用法

一.前言 本节,我们将学习C语言库函数sscanf()的使用,使用sscanf可以快速的从复杂字符串中获取自己需要的数据. 二.基础知识 1.简介 sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源. 2.函数描述 int sscanf(const char buffer, const char format, [argument]...); 参数:buffer:需要解析的源字符串format:窗体控件字符串,定义解析字符串的规则,可以是