在做一道九度上机题时,突然发现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

[置顶] sscanf() - 从一个字符串中读进与指定格式相符的数据的更多相关文章

  1. (转)sscanf() - 从一个字符串中读进与指定格式相符的数据

    (转)sscanf() - 从一个字符串中读进与指定格式相符的数据 sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: Int sscanf( string str, stri ...

  2. sscanf linux-c从一个字符串中读进与指定格式相符的数据

    https://www.cnblogs.com/lanjianhappy/p/6861728.html 函数原型: Int sscanf( string str, string fmt, mixed ...

  3. C语言函数sscanf()的用法-从字符串中读取与指定格式相符的数据(转)

    C语言函数sscanf()的用法 sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( string str, string fmt, mixed var ...

  4. [置顶]VC2013的一个bug

    [置顶]VC2013的一个bug 前段时间在尝试使用一个C++的GUI库nana.这个库最大的特点在于使用现代C++风格去编写GUI程序,而不需要使用大量的比较丑陋的代码(如MFC中的各种宏),或者其 ...

  5. javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数

    javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数 function test(){ var bt = document.getElementById(" ...

  6. +QFTPOPEN: 603,0 怎么把这样一个字符串中的 603 提取出来给一个 uint32_t 的变量那

    +QFTPOPEN: 603,0   怎么把这样一个字符串中的 603 提取出来给一个 uint32_t 的变量那? 注意冒号后面有个空格!!! 答案:要使用 sscanf 标准库函数! char s ...

  7. Python判断一个字符串中是否存在多个子串中的一个

    在使用python的开发过程中,常常需要判断,字符串中是否存在子串的问题, 但判断一个字符串中是否存在多个字串中的一个时,如if (a or b) in c或者if x contains a|b|c| ...

  8. js中解析json对象:JSON.parse()用于从一个字符串中解析出json对象, JSON.stringify()用于从一个对象解析出字符串。

    JSON.parse()用于从一个字符串中解析出json对象. var str = '{"name":"huangxiaojian","age&quo ...

  9. c c++怎么判断一个字符串中是否含有汉字

    c c++怎么判断一个字符串中是否含有汉字 (2013-02-05 10:44:23) 转载▼     #include  #include  int main() { char sztext[] = ...

随机推荐

  1. linux中的kill命令

    一. 定义 kill命令用来删除执行中的程序或工作.kill可将指定的信息送至程序.预设的信息为SIGTERM(15),可将指定程序终止.若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除 ...

  2. 【spark】示例:求极值

    我们有这样的数据 1.建立SparkContext读取数据 (1)建立sc (2)通过sc.textFile()读取数据创建Rdd 2.过滤数据 通过filter(line => line.tr ...

  3. Eclipse 3.7 极述优化

    1.去除不用的jar Eclipse/plugins目录下去除下面的jar和目录 2012/02/17 03:09 14,169 org.eclipse.cvs_1.1.100.v2012020808 ...

  4. 【转】Hibernate 原汁原味的四种抓取策略

    最近在研究 Hibernate 的性能优化的时候碰到了"抓取策略", 由于以前没有详细的研究过, 所以到处找资料, 但是无论从一些讲 Hibernate 书籍,还是他人 Blog ...

  5. UI- 不易记知识点汇总

    1.static: 所有的全局变量都是静态变量,而局部变量只有定义时加上类型修饰符static,才为局部静态变量. 静态变量并不是说其就不能改变值,不能改变值的量叫常量. 其拥有的值是可变的 ,而且它 ...

  6. poi设置背景色

    headStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);    headStyle.setFillForegroundColor(HSSFCo ...

  7. 【tensorflow:Google】一、深度学习简介

    参考文献:<Tensorflow:实战Google深度学习框架> [一]深度学习简介 1.1 深度学习定义 Mitchell对机器学习的定义:任务T上,随着经验E的增加,效果P也可以随之增 ...

  8. mysql int(3)与int(11)的区别

    总结,int(M) zerofill,加上zerofill后M才表现出有点点效果,比如 int(3) zerofill,你插入到数据库里的是10,则实际插入为010,也就是在前面补充加了一个0.如果i ...

  9. transition 总结

    详情:http://www.css88.com/book/css/properties/transition/transition-property.htm left不能进行transition

  10. eclipse 智能提示js和jquery等前端插件

    使用Eclipse写Jquery和Javascript代码的时候,是没有智能提示的.我们可以使用一个插件来解决这个问题. 安装完成后,Eclipse会自动重启.重启之后,我们在项目上右键,   根据自 ...