在做一道九度上机题时,突然发现sscanf()函数非常有用,就顺便从网上搜集资料整理一下。

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

原型: int
sscanf (const char *str,const char * format,........);

说明: sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。转换后的结果存于对应的参数内。

成功则返回参数数目,失败则返回0。

注意:sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源。

大家都知道sscanf是一个很好用的函数,利用它可以从字符串中取出整数、浮点数和字符串等等。它的使用方法简单,特别对于整数和浮点数来说。

这里就举几个经常用到的例子来说明他的用法,便于大家深刻理解他的用法.

例子:

[cpp] view
plain
 copy

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. int main(){
  5. char str[100];
  6. //用法一:取指定长度的字符串
  7. sscanf("12345","%4s",str);
  8. printf("用法一\nstr = %s\n",str);
  9. //用法二:格式化时间
  10. int year,month,day,hour,minute,second;
  11. sscanf("2013/02/13 14:55:34","%d/%d/%d %d:%d:%d",&year,&month,&day,&hour,&minute,&second);
  12. printf("用法二\ntime = %d-%d-%d %d:%d:%d\n",year,month,day,hour,minute,second);
  13. //用法三:读入字符串
  14. sscanf("12345","%s",str);
  15. printf("用法三\nstr = %s\n",str);
  16. //用法四:%*d 和 %*s 加了星号 (*) 表示跳过此数据不读入. (也就是不把此数据读入参数中)
  17. sscanf("12345acc","%*d%s",str);
  18. printf("用法四\nstr = %s\n",str);
  19. //用法五:取到指定字符为止的字符串。如在下例中,取遇到'+'为止字符串。
  20. sscanf("12345+acc","%[^+]",str);
  21. printf("用法五\nstr = %s\n",str);
  22. //用法六:取到指定字符集为止的字符串。如在下例中,取遇到小写字母为止的字符串。
  23. sscanf("12345+acc121","%[^a-z]",str);
  24. printf("用法六\nstr = %s\n",str);
  25. return 0;
  26. }





转自:http://blog.csdn.net/sjf0115/article/details/8579935

最新文章

  1. 【BZOJ3439】Kpm的MC密码 trie树+主席树
  2. hdu 5476 Explore Track of Point(2015上海网络赛)
  3. css实现div悬浮层,始终停留在浏览器的最下方,不随页面的滚动条滚动改变位置或消失
  4. chkdsk 和sfc.exe修复命令
  5. BZOJ 1079 [SCOI2008]着色方案
  6. [JavaScript]&#39;this&#39;详解
  7. Linux文本操作三大利器总结:sed、awk、grep
  8. 使用Gulp实现前端构建自动化
  9. 201521123065《java程序设计》第9周学习总结
  10. [转载] 基于Redis实现分布式消息队列
  11. python文件操作r+,w+,a+,rb+,
  12. linux安装中文输入法
  13. Maven命令安装jar包到本地仓库
  14. 为帮助保护你的安全,您的Web浏览器已经限制此文件显示可能访问您的计算机的活动内容
  15. 完全分布式hadoop2.5.0安装 VMware下虚拟机centos6.4安装1主两从hadoop
  16. 安装Scrapy遇到的坑
  17. java 面试随笔
  18. 51nod 1120 机器人走方格 V3
  19. unity, 两个动画同时播
  20. 对Java CAS的一些了解(正在整理学习中)

热门文章

  1. RedHat设置Yum源
  2. spring mvc: 密码框
  3. spring3: 对JDBC的支持 之 Spring提供的其它帮助 SimpleJdbcInsert/SimpleJdbcCall/SqlUpdate/JdbcTemplate 生成主键/批量处理
  4. Ajax-01 Ajax概述
  5. 【mysql 】sql删除重复记录 You can&#39;t specify target table &#39;表名&#39; for update in FROM clause
  6. 互联网公司面试必问的mysql题目(下)
  7. C# chart控件运用
  8. SCARA——OpenGL入门学习三
  9. C# 程序部署、调试时间长的解决办法
  10. LeetCode Subarray Product Less Than K