[置顶] sscanf() - 从一个字符串中读进与指定格式相符的数据
2024-08-21 05:14:46
在做一道九度上机题时,突然发现sscanf()函数非常有用,就顺便从网上搜集资料整理一下。
sscanf() 的作用:从一个字符串中读进与指定格式相符的数据.
原型: int
sscanf (const char *str,const char * format,........);
说明: sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。转换后的结果存于对应的参数内。
成功则返回参数数目,失败则返回0。
注意:sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源。
大家都知道sscanf是一个很好用的函数,利用它可以从字符串中取出整数、浮点数和字符串等等。它的使用方法简单,特别对于整数和浮点数来说。
这里就举几个经常用到的例子来说明他的用法,便于大家深刻理解他的用法.
例子:
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- int main(){
- char str[100];
- //用法一:取指定长度的字符串
- sscanf("12345","%4s",str);
- printf("用法一\nstr = %s\n",str);
- //用法二:格式化时间
- int year,month,day,hour,minute,second;
- sscanf("2013/02/13 14:55:34","%d/%d/%d %d:%d:%d",&year,&month,&day,&hour,&minute,&second);
- printf("用法二\ntime = %d-%d-%d %d:%d:%d\n",year,month,day,hour,minute,second);
- //用法三:读入字符串
- sscanf("12345","%s",str);
- printf("用法三\nstr = %s\n",str);
- //用法四:%*d 和 %*s 加了星号 (*) 表示跳过此数据不读入. (也就是不把此数据读入参数中)
- sscanf("12345acc","%*d%s",str);
- printf("用法四\nstr = %s\n",str);
- //用法五:取到指定字符为止的字符串。如在下例中,取遇到'+'为止字符串。
- sscanf("12345+acc","%[^+]",str);
- printf("用法五\nstr = %s\n",str);
- //用法六:取到指定字符集为止的字符串。如在下例中,取遇到小写字母为止的字符串。
- sscanf("12345+acc121","%[^a-z]",str);
- printf("用法六\nstr = %s\n",str);
- return 0;
- }
转自:http://blog.csdn.net/sjf0115/article/details/8579935
最新文章
- 【BZOJ3439】Kpm的MC密码 trie树+主席树
- hdu 5476 Explore Track of Point(2015上海网络赛)
- css实现div悬浮层,始终停留在浏览器的最下方,不随页面的滚动条滚动改变位置或消失
- chkdsk 和sfc.exe修复命令
- BZOJ 1079 [SCOI2008]着色方案
- [JavaScript]&#39;this&#39;详解
- Linux文本操作三大利器总结:sed、awk、grep
- 使用Gulp实现前端构建自动化
- 201521123065《java程序设计》第9周学习总结
- [转载] 基于Redis实现分布式消息队列
- python文件操作r+,w+,a+,rb+,
- linux安装中文输入法
- Maven命令安装jar包到本地仓库
- 为帮助保护你的安全,您的Web浏览器已经限制此文件显示可能访问您的计算机的活动内容
- 完全分布式hadoop2.5.0安装 VMware下虚拟机centos6.4安装1主两从hadoop
- 安装Scrapy遇到的坑
- java 面试随笔
- 51nod 1120 机器人走方格 V3
- unity, 两个动画同时播
- 对Java CAS的一些了解(正在整理学习中)
热门文章
- RedHat设置Yum源
- spring mvc: 密码框
- spring3: 对JDBC的支持 之 Spring提供的其它帮助 SimpleJdbcInsert/SimpleJdbcCall/SqlUpdate/JdbcTemplate 生成主键/批量处理
- Ajax-01 Ajax概述
- 【mysql 】sql删除重复记录 You can&#39;t specify target table &#39;表名&#39; for update in FROM clause
- 互联网公司面试必问的mysql题目(下)
- C# chart控件运用
- SCARA——OpenGL入门学习三
- C# 程序部署、调试时间长的解决办法
- LeetCode Subarray Product Less Than K