sscanf( )函数的用法

C 中scanf ( ) 函数用法 心得 我觉得,在输入输出函数中,scanf()函数,应该是最麻烦的,有时它给我们的结果很可笑,但是一定是一原因的....首先声明一下,这篇日志不是介绍scanf()中各种格式符用法的文章(没有这个必要,但是大家一定要会用).我尝试了很多种输入,包括一些错误的练习,曾经对scanf()由迷茫转向清醒,又由清醒再次转向迷茫......不知道何时是个尽头,谁让C如此高深呢?在这里贴出来,也是想让自 阅读详情

sscanf( )函数的用法

SSCANF用法:(继qsort,bsearch,strchr后发现的又一好使的函数)
sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源。
例子:
1. 常见用法。
char buf[512] ;
sscanf("123456 ", "%s", buf);//此处buf是数组名,它的意思是将123456以%s的形式存入buf中!
printf("%s\n", buf);
结果为:123456
2. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。
sscanf("123456 ", "%4s", buf);
printf("%s\n", buf);
结果为:1234
3. 取到指定字符为止的字符串。如在下例中,取遇到空格为止字符串。
sscanf("123456 abcdedf", "%[^ ]", buf);
printf("%s\n", buf);
结果为:123456
4. 取仅包含指定字符集的字符串。如在下例中,取仅包含1到9和小写字母的字符串。
sscanf("123456abcdedfBCDEF", "%[1-9a-z]", buf);
printf("%s\n", buf);
结果为:123456abcdedf
当输入:
sscanf("123456abcdedfBCDEF","%[1-9A-Z]",buf);
printf("%s\n",buf);
结果为:123456
5. 取到指定字符集为止的字符串。如在下例中,取遇到大写字母为止的字符串。
sscanf("123456abcdedfBCDEF", "%[^A-Z]", buf);
printf("%s\n", buf);
结果为:123456abcdedf
6、给定一个字符串iios/12DDWDFF@122,获取 / 和 @ 之间的字符串,先将 "iios/"过滤掉,再将非'@'的一串内容送到buf中
sscanf("iios/12DDWDFF@122", "%*[^/]/%[^@]", buf);
printf("%s\n", buf);
结果为:12DDWDFF
7、给定一个字符串“hello, world”,仅保留world。(注意:“,”之后有一空格)
sscanf(“hello, world”, "%*s%s", buf);
printf("%s\n", buf);
结果为:world
%*s表示第一个匹配到的%s被过滤掉,即hello被过滤了
如果没有空格则结果为NULL。
代码如下:
#include <stdio.h>
#include <string.h>
#include <math.h>
char word[1000];
char arr[100][100]; //arr用于存储以前出现过的单词
int main()
{
int len, pos;
char temp[100];
while(gets(word) && strcmp(word, "#") != 0)//题目要求不是文章结尾为,注意strcmp用比较用“#”
{
len = strlen(word);//总长度(包括空格)
pos = 0;
int cnt = 0;
// pos加单词长度一直到>len
while(pos <= len)
{
sscanf(word + pos, "%s", temp); //把一个单词存入temp,空格省去(sscanf应该是读到空格截止,对于sscanf,空格很重要)
//word + pos为指针指向位置
//printf("%s++++++++++++++++++++\n",temp);
int k;
for(k = 0; k < cnt; ++k)
if(strcmp(temp, arr[k]) == 0) //如果和以前存入的单词相同,则不计数
break;
if(k == cnt)
strcpy(arr[cnt++], temp); //把temp存入arr,并计数器cnt加一
pos += strlen(temp) + 1;// +1表示加上空格,最后一次pos肯定会大于len
}
printf("%d\n", cnt);
}
return 0;
}


原文转自:http://minda-ly.diandian.com/post/2011-02-13/17223519

门控时钟(clock gating)的DFT设计 在数字IC芯片中,时钟树的功耗占比可能高达30%,因此一般会采取门控时钟的方式来降低该部分的功耗。所谓门控时钟,就是在芯片实际工作过程中,有些信号或者功能并不需要一直开启,那么就可以在它们不用的时候将其时钟信号关闭。这样一来信号不再翻转,从而能够有效减少动态功耗。 目前门控时钟都采用集成门控时钟单元(ICG,integrated clock gating cell),其结构如下。由一个latch和一个与门(也有的是或门)组成,可以过滤掉EN信号中的毛刺。一般的工艺库中都会有专门的ICG以供调用。 插入IC 阅读详情

相关推荐

实战解析:利用Wireshark解密QQ通信协议

本文提供了一份利用Wireshark工具分析QQ通信协议的实战指南。文章详细介绍了从环境准备、捕获数据包到解析协议层的完整流程,重点演示了如何识别QQ号码字段、观察加密数据特征以及区分不同通信类型(如文本、文件传输)。通过此实践,读者可以深入理解网络分层模型和现代应用加密通信机制,提升网络协议分析与安全诊断能力。

weixin_29210727的博客 407

sscanf中%s用法

#include #include #include void main() {     char Buffer[512] = {" "}; char IP[512]={""}; char netmask[512]; strcpy(Buffer,"/sbin/ifconfig eth0 172.16.129.150 netmask 255.255.255.0 up");  

maopig的专栏 8615

STM32CUBEIDE调试中HardFault_Handler崩溃的故障分析器实战解析

本文详细解析STM32CUBEIDE调试中HardFault_Handler崩溃问题的实战处理方法。通过内置故障分析器自动诊断硬件异常原因,如内存越界、堆栈溢出等,提供图形化界面简化调试流程,并分享配置步骤、典型案例及高级调试技巧,帮助开发者快速定位和解决嵌入式系统崩溃问题。

night的博客 643

初识sscanf_s

本人用rapidxml写一个学生信息操作的时候遇到了一个问题:一个由多个原子信息构成的属性值字符串如何取出其中单个的某个原子信息。xml文件内容如下: <?xml version="1.0" encoding="gb2312"?> <StudentInformation> <StudentList> <Student>张三 男 1001 13440069817</Student> <Student&gt...

arible的博客 5210

Win10家庭版中文用户名改英文全攻略:从注册表到环境变量一步不落

本文详细介绍了Windows 10家庭版中文用户名改为英文的完整流程,包括注册表编辑、环境变量调整等关键步骤。通过激活管理员账户、重命名用户文件夹、修改注册表键值等操作,彻底解决因中文路径导致的软件兼容性问题,并提供常见错误解决方案和系统维护建议。

weixin_29227425的博客 427

Nacos2.3.0与vastBase数据库的集成实践指南

本文详细介绍了将Nacos 2.3.0的默认数据库从MySQL迁移至vastBase数据库的完整实践指南。内容涵盖前期环境准备、源码改造、依赖配置、SQL适配、数据库初始化以及最终的编译打包与部署验证,旨在帮助开发者在国产化或特定技术栈场景下,实现微服务配置中心与vastBase数据库的自主可控集成。

plant的博客 273

sscanf函数用法详解

1.         常见用法。 char str[512] = {0};          sscanf("123456 ", "%s", str);     printf("str=%s\n", str);   2.

攻城狮 817

Modis数据处理工具:MRT百度网盘下载和手把手图文安装教程

如下图所示为MODIS Reprojection Tool(MRT)的软界面,看似简单,却是Modis遥感影像必不可少的处理工具,如投影变换等。本文以图文并茂的形式,详细讲解MRT软件在Windows10平台上的安装过程,并附MRT软件百度网盘下载地址。 Modis Tool主界面: 一、安装过程 1、安装Java运行环境 双击Java.exe,安装运行环境。默认的安装路径为C:\Program Files (x86)\Java\jre6\bin,后面需要用到这个路径。 等待...

智慧空间实验室 2623

关于sscanf函数的各种详细用法

看书的时候碰到sscanf函数,就上网查了很多资料,并加以自己的整理,希望对大家有所帮助。 (因为参考的博客太多太散,就不一一注明,望大神们见谅)          sscanf()  :从一个字符串中读进与指定格式相符的数据.    函数原型:    Int sscanf( string str, string fmt, mixed var1, mixed var2 ... );

1万+

LSTM 深度解析从原理推演到现代序列建模的演进

LSTM(Long Short-Term Memory,长短期记忆网络)是一种特殊的递归神经网络(RNN),它通过引入记忆单元(Cell State)来解决普通RNN在长序列数据处理中的梯度消失问题。LSTM可以在长时间的序列中捕捉依赖关系,是一种非常适合处理时间序列、自然语言处理、语音识别等任务的深度学习模型。在LSTM中,记忆单元(Cell State)是一个贯穿整个序列的数据通道,用于存储和传递关键信息。记忆单元在LSTM的时间步之间保持信息的持久性,可以看作是一个长期记忆的“容器”。

hello.reader 3万+

【数据集】GPM IMERG Daily Precipitation Dataset

GPM IMERG Daily Precipitation Dataset

WW、forever的博客 1219

sscanf函数的用法

在做字符串处理的时候,会遇到从一个字符串当中提取有效信息的题目。除了一个一个遍历,还可以用sscanf函数。 这个函数很神奇,很强大。 下面是别人的一段代码,大家可以学习一下/***************************************************** ** Name : sscanf.c ** Author : gzshun **

SIOFive的专栏 1158

【软考高级架构】论文范文17——论软件系统架构评估及其应用(ATAM)

软件系统架构评估是保障系统质量属性满足业务目标的关键环节,架构权衡分析方法(Architecture Trade-off Analysis Method,ATAM)作为一种主流的架构评估方法,通过场景识别、敏感点与权衡点分析、风险与非风险决策识别等系统化活动,能够在架构设计早期发现潜在问题,降低后期修改成本。本文以笔者主导的某省级智慧医疗平台架构评估项目为案例,围绕ATAM方法的应用展开论述。笔者担任系统架构师,负责组织评估团队、引导场景捕获、分析架构决策、识别风险与权衡点。

qq837993702的博客 490

sscanf函数的高级用法

大家都知道sscanf是一个很好用的函数,利用它可以从字符串中取出整数、浮点数和字符串等等。它的使用方法简单,特别对于整数和浮点数来说。但新手可能并不知道处理字符串时的一些高级用法,这里做个简要说明吧。1.         常见用法。 char str[512] = {0};

技术资料库 3072

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Sscanf函数 及其用法

  sscanf() :从一个字符串中读进与指定格式相符的数据.  函数原型:  Int sscanf( string str, string fmt, mixed var1, mixed var2 ... );  int scanf( const char *format [,argument]... ); sscanf与scanf类似,都是用于输入的,只是后者以...

asmqv360391614的博客 551

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

sscanf函数用法

功能强大的sscanf函数 函数原型:   Int sscanf( const char * src, const char * format, ...); int scanf( const char * format, ...); 这两个函数很相似,只是第一个函数以src作为输入,而第二个函数以标准输入STDIN读取输入; format 是格式控制字符串,它包含控制字符(如:%d,%

Wilsonboliu的专栏 694

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

sscanf函数的用法[百度收藏]

sscanf函数的用法 头文件 #include "stdio.h"             定义函数 int sscanf (const char *str,const char * format,........);             函数说明              sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf

Hanks软件库 1182

sscanf函数用法c语言,sscanf函数,sscanf函数的用法

sscanf函数,sscanf函数的用法1//用法举例2#include3#include4#defineN5125intmain()6{7charbuf[N],buf2[N],buf3[N];8memset(buf,0,sizeof(buf));9memset(buf2,0,sizeof(buf2));10memset(buf3,0,sizeof(buf3));//包...

weixin_29705519的博客 322

sscanf函数的用法(高级进阶用法/正则表达式/贪婪性)

format: 字符串格式,可以是一个或多个 {%[*] [width] [{h | I | I64 | L}]type | ' ' | '\t' | '\n' | 非%符号};将已知的字符串通过格式化匹配出有效信息。sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源。返回值:返回成功赋值的个数;返回值为 0 表示没有将任何字段赋值。成功则返回参数数目,失败则返回-1,错误原因存于errno中;str: 待解析的字符串;

嵌入式大师之路 1570
上一篇: abs() 与fabs() 的区别
下一篇: HDOJ2050 折线分割平面
何必纠结于ID
博客等级 码龄14年 65粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值