今天写题用到了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 }
学习不易,诸君共勉!
来源:https://www.cnblogs.com/daker-code/p/12169135.html