在做一道九度上机题时,突然发现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. ICE 中后台开发

    1.https://alibaba.github.io/ice/#/block 2.https://www.zhihu.com/question/266529857/answer/309604282 ...

  2. 《The Cg Tutorial》阅读笔记——光照 Lighting

    本文为大便一箩筐的原创内容,转载请注明出处,谢谢:http://www.cnblogs.com/dbylk/p/4796306.html 光照 Lighting 一.常见的几种光照模型 二.基本的光照 ...

  3. 【JAVA】IOS内购二次验证及掉单问题解决

    这个估计是我踩过的最大的坑,当时做微信支付的时候也没这么坑爹,当然他俩也半斤八两... 苹果官方明确表示:验证支付时,可能会有一定的延迟.第一次处理的时间就专注的解决这个问题了,忽略了掉单的问题(稍后 ...

  4. css中zoom:1以及z-index的作用

    一.CSS中zoom:1的作用在做IE6.IE7.IE8浏览器兼容的时候,经常会遇到一些问题,可以使用zoom:1来解决,有如下作用:1.触发IE浏览器的haslayout2.解决IE下的浮动,mar ...

  5. C# List 排序

    (转自:http://www.cnblogs.com/bradwarden/archive/2012/06/19/2554854.html) 第一种:实体类实现IComparable接口,而且必须实现 ...

  6. LeetCode OJ:Ugly Number(丑数)

    Write a program to check whether a given number is an ugly number. Ugly numbers are positive numbers ...

  7. 向重复劳动说不!——GMExplorer 1.0 Beta 发布

    下载: GMExplorer 1.0 Beta 计算机网络诞生以来,各项技术日新月异.在浏览器器能做和看到的,早已不止网页了! 特别是近几年HTML5.云服务等技术的兴起,涌向大批优秀的Web应用.人 ...

  8. DRF 的 版本,解析器,与序列化

    DRF 的 版本,解析器,与序列化 补充 配置文件中的 类的调用: (字符串) v1 = ["view.xx.apth.Role","view.xx.apth.Role& ...

  9. Spring-Kafka 2.0.0发送API翻译

    Kafka Template–2.2.0 api KafkaTemplate KafkaTemplate这个类包装了个生产者,来提供方便的发送数据到kafka的topic里面. 同步和异步的方法都有, ...

  10. poj3107(dfs,树形dp)

    和poj1655的方法完全一样,但是这道题的n的范围大了,用vector存图会TLE(poj没有O2编译优化),所以改用前向星来存图就可以了.. 有关树的重心,看这里:poj1655 这里解释一下前向 ...