专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

sscanf函数用法,C语言中sscanf函数6种用法详解

来源:小易整编  作者:小易  发布时间:2023-03-22 02:17
摘要:sscanf函数用法,C语言中sscanf函数6种用法详解sscanf()函数实现:不管接触过任何编程语言也好,学过正则表达式的都对sscanf()的使用并不陌生了。如何通过sscanf将已知的字符串通过格式化匹配出有效的信息?下面我把要实...

sscanf函数用法,C语言中sscanf函数6种用法详解

sscanf()函数实现:

不管接触过任何编程语言也好,学过正则表达式的都对sscanf()的使用并不陌生了。如何通过sscanf将已知的字符串通过格式化匹配出有效的信息?下面我把要实现对象的方法和作用意义给列出来,如下所示:

格式

作用

%*s或%*d

跳过数据

%[width]s

读指定宽度的数据

%[a-z]

匹配a到z中任意字符(尽可能多的匹配)

%[aBc]

匹配a、B、c中一员,贪婪性

%[^a]

匹配非a的任意字符,贪婪性

%[^a-z]

表示读取除a-z以外的所有字符

以上有六种方法,每种方法都来实现以下:

函数原型为:int sscanf(const char *const_Buffer, const char*const _Format, ...)

作用:从一个字符串中读进与指定格式相符的数据的函数

第1种方法:

利用%*s或%*d的格式实现跳过数据:

代码如下所示:

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h>voidtest(){char* str1 ="666helloworld";char temp1[128]={0};sscanf(str1,"%*d%s", temp1);printf("%s\n", temp1);// 得到的是helloworldprintf("---------------\n");char* str2 ="helloworld666";char temp2[128]={0};sscanf(str2,"%*[a-z]%s", temp2);printf("%s\n", temp2);// 得到的是666}intmain(){test();system("pause");return0;}

结果图为:


图片


第2种方法:

通过%[width]s格式进行读指定宽度的数据:

代码如下所示:

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h>voidtest(){char* str1 ="666helloworld";char temp1[128]={0};sscanf(str1,"%8s", temp1);printf("%s\n", temp1);// 得到的是666hello}intmain(){test();system("pause");return0;}

第3种方法:

通过%[a-z]格式进行匹配a到z中任意字符(尽可能多的匹配):

代码如下所示:

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h>voidtest(){char* str1 ="666helloworld";char temp1[128]={0};sscanf(str1,"%*d%[a-z]", temp1);printf("%s\n", temp1);// 得到的是helloworld}intmain(){test();system("pause");return0;}

第4种方法:

通过%[aBc]格式进行匹配a、B、c中的一员,贪婪性正则表达式

代码如下所示:

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h>voidtest(){char* str1 ="abccabchelloworld";char temp1[128]={0};sscanf(str1,"%[abc]", temp1);//  如果刚开始就遇到匹配失败,后续则不再匹配printf("%s\n", temp1);// 得到的是abccabc}intmain(){test();system("pause");return0;}

第5种方法:

通过方法: %[^a]格式进行匹配非a的任意字符,也属于贪婪性正则表表达式

代码如下所示:

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h>voidtest(){char* str1 ="abccabchelloworld";char temp1[128]={0};sscanf(str1,"%[^c]", temp1);//  如果匹配到字符,则字符后面的不在进行匹配printf("%s\n", temp1);// 得到的是ab}intmain(){test();system("pause");return0;}

第6种方法:

通过%[^a-z]格式,进行匹配读取除a-z以外的所有字符

代码如下所示:

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h>voidtest(){char* str1 ="hello52wo3rld";char temp1[128]={0};sscanf(str1,"%[^0-9]", temp1);//  如果匹配到字符,则字符后面的不在进行匹配printf("%s\n", temp1);// 得到的是hello}intmain(){test();system("pause");return0;}



本文地址:百科问答频道 https://www.neebe.cn/wenda/936152.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


百科问答
小编:小易整编
相关文章相关阅读
  • Excel中countif函数的使用方法

    Excel中countif函数的使用方法

    Excel中有很多函数,很多都可以为我们大大减少计算的时间,一步就得出结果,很多朋友在使用countif函数时,会出现一些错误导致不成功,我们这就来给你详细讲讲countif函数是应该如何使用的。countif函数的含义...

  • 丛林中的掠食者雷恩加尔打野详解

    丛林中的掠食者雷恩加尔打野详解

    雷恩加尔作为一个刺客型打野,今天小编向你详细介绍怎么用雷恩加尔打野。操作方法01首先,召唤师技能选择“闪现+惩戒”,出门装“药瓶+打野刀”,第一件升级红惩戒后,后期六神装“幕刀,幽梦,夜之锋刃,轻灵鞋...

  • 详解内存条的安装过程和注意事项

    详解内存条的安装过程和注意事项

    在安装内存条之前,大家不要忘了看看主板的说明书,看看主板支持哪些内存,可以安装的内存插槽位置及可安装的最大容量。不同内存条的安装过程其实都是大同小异的,这里主要说明常见的SDRAM、DDRRAM、RDRAM内存。下面乐天一起来看看内存条的...

  • 怎样详解DNF远古地图诺伊佩拉野猪限定远古粉装

    怎样详解DNF远古地图诺伊佩拉野猪限定远古粉装

    实际难度不如悲鸣,但是比悲鸣更加麻烦。更加准确的说,这张图更适合组队刷,单刷的话,真的是相当累的,除了要足够的伤害以外,还必须要有抗性装。那么简单来说下这张图的要点。诺伊佩拉位于阿法利亚营地,...

  • Win7对minidump文件分析详解

    Win7对minidump文件分析详解

    我们知道在Win7系统中有一个minidump文件,每当系统出现问题时,它就会收集错误信息然后放到这个地方,虽然错误信息收集了,但也要分析,不过很多人不懂得Win7对minidump文件分析详解为此小编赶紧整理了一篇Win7对minidum...

  • SUBTOTAL函数怎么用?

    SUBTOTAL函数怎么用?

    操作方法01隐藏行汇总方法:在目标单元格输入公式:=SUBTOTAL(109,C3:C9)。02筛选汇总。方法:在目标单元格输入公式:=SUBTOTAL...

  • 支付宝钱包怎么用——详解篇

    支付宝钱包怎么用——详解篇

    支付宝的使用已经越来越广泛,也有更多的人跟上了移动支付时代的步伐,支付宝钱包具体是怎么用的,我们就为小白带来下面这篇指南。操作方法01打开支付宝,首先需要设置支付密码,这个是支付宝使用安全最重要的东西...

  • 详解电脑如何使用Google Hangout谷歌环聊客户端

    详解电脑如何使用Google Hangout谷歌环聊客户端

    我们知道2015年2月份Google聊天客户端Gtalk正式结束服务,取而代之的是Google重点推出的GoogleHangout谷歌环聊。本文分享在电脑上如何安装和使用GoogleHangout客户端。安装方法介绍...

  • 周排行
  • 月排行
  • 年排行

精彩推荐