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

GNSS - PPP软件 - GAMP 在VS2019/2022下完成调试、跑通程序(超详细!) WIN32;_DEBUG;_CONSOLE;O_WARNINGS;ENAGLO;ENACMP;ENAGAL;ENAQZS;NFREQ=3。 阅读详情

相关推荐

FP7195升降压恒流驱动IC:从AC/DC 12~24V输入到稳定输出的高效电源设计实战

本文详细解析FP7195升降压恒流驱动IC的工作原理与应用实战。该芯片支持4.5V-32V宽输入范围,能自动切换升降压模式并保持输出恒定,特别适用于车载LED照明、工业电源等电压波动场景。通过实际案例分享PCB布局、元件选型及调试技巧,帮助工程师实现高效稳定的电源设计。

vodka的博客 955

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

告别屏幕适配焦虑:用AndroidAutoSize 1.2.1搞定多尺寸设备(附AndroidX兼容方案)

本文详细介绍了AndroidAutoSize 1.2.1在屏幕适配中的应用,帮助开发者高效解决多尺寸设备适配问题。通过动态计算机制,AutoSize显著提升了UI一致性和开发效率,特别适合处理横竖屏切换、折叠屏等复杂场景。文章还提供了AndroidX兼容方案和性能优化建议,是Android开发者的实用指南。

weixin_42535461的博客 189

初识sscanf_s

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

arible的博客 5210

C# 开发 WPS 插件实战:从环境搭建到功能实现(附完整代码)

本文提供了一份详尽的C#开发WPS插件实战指南,涵盖从环境搭建到功能实现的完整流程。通过COM技术,开发者可以创建自定义插件,为WPS Office扩展自动化功能,如文档处理与格式转换。文章包含核心概念解析、Ribbon界面集成、调试部署方法及完整代码示例,帮助开发者快速上手。

rust6ferris的博客 928

把“思考”塞进 1 KB:我用纯 C 语言给单片机手搓了一个微型 Transformer 推理引擎

摘要:本文探讨了在64KB SRAM的MCU(如STM32H743)上部署精简Transformer模型的技术方案。通过将6层Transformer压缩至1层(隐藏维度128)、4-bit KV-Cache量化等优化手段,实现了240KB Flash占用和59KB RAM峰值,推理延迟184ms(400MHz Cortex-M7),准确率96.1%。关键创新包括:手工优化矩阵乘(CMSIS-NN)、查表法Softmax/LayerNorm、权重按Tile重排提升Cache命中率(60%→94%)。

qq_74383080的博客 2922

sscanf函数用法详解

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

攻城狮 817

k8s中pod使用详解

k8s中Pod使用

congge 1万+

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

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

1万+

115网页版VR模式终于能用了!电脑直接播放vr视频沉浸感满满 115vr播放 无需vr头盔播放vr视频 在线vr播放器 115网盘360度视频播放方法 115全景视频播放教程

油猴 + 脚本让你网页端直接开启 VR 模式支持 360 视频拖动视角,非常沉浸适合电脑设备直接用无需vr头盔也能轻松畅看vr视频,希望也能帮到你。如果你也被 115 的限制搞烦了,不妨试试这招。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 5711

uni-app开发-第3篇:uni-app 页面与路由

本文详细介绍了 uni-app 中的页面开发与路由管理。首先,页面是应用的基础单元,创建页面时需在pages目录下新建文件夹和.vue文件,页面结构由<template>、<script>和<style>三部分组成。uni-app 页面生命周期函数包括onShow、onReady、onHide和onUnload,分别用于处理页面显示、渲染完成、隐藏和卸载时的逻辑。其次,路由管理通过pages.json文件配置页面路径和样式,并提供uni.navigateTo等方法进行路由

无 415

sscanf函数的用法

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

SIOFive的专栏 1158

嵌入式软考必备知识点:嵌入式系统开发中的重要概念和示例代码

在嵌入式软考中,有一些重要的知识点需要掌握,包括嵌入式系统的基本概念、编程语言、实时操作系统和硬件接口等。实时操作系统是一种专门设计用于嵌入式系统的操作系统,可以提供对任务调度、中断处理和资源管理等方面的支持。GPIO(通用输入输出):GPIO是嵌入式系统中常用的硬件接口,用于连接外部设备和嵌入式系统。以上是嵌入式软考中的一些必备知识点,包括嵌入式系统的基本概念、编程语言、实时操作系统和硬件接口。通过配置串口的波特率、数据位数和校验位等参数,可以实现与其他设备的可靠通信。一、嵌入式系统的基本概念。

PixeGO的博客 313

sscanf函数的高级用法

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

技术资料库 3072

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Sscanf函数 及其用法

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

asmqv360391614的博客 551

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

sscanf函数用法

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

Wilsonboliu的专栏 694

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

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、付费专栏及课程。

余额充值