sscanf和sprintf用法

原创 2018年04月16日 16:16:30

sscanf:

头文件:stdio.h

它与scanf用法类似,只是scanf以键盘(stdin)输入,它是以固定字符串为输入源。
函数原型如下:
int sscanf(     const char *buffer,     const char *format, [ argument ] ...   );

参数:
buffer
  存储的数据
format
  窗体控件字符串。 有关详细信息,请参阅"格式规范"。
argument
  可选自变量
locale
  要使用的区域设置


实例:
1、一般用法
1
2
3
char buf[512] = ;
sscanf("123456 ""%s", buf);
printf("%s\n", buf);
结果为:123456
  2. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。
1
2
sscanf("123456 ""%4s", buf);
printf("%s\n", buf);
结果为:1234
  3. 取到指定字符为止的字符串。如在下例中,取遇到空格为止字符串。
1
2
sscanf("123456 abcdedf""%[^ ]", buf);
printf("%s\n", buf);
结果为:123456
  4. 取仅包含指定字符集的字符串。如在下例中,取仅包含1到9和小写字母的字符串。
1
2
sscanf("123456abcdedfBCDEF""%[1-9a-z]", buf);
printf("%s\n", buf);
结果为:123456abcdedf
  5. 取到指定字符集为止的字符串。如在下例中,取遇到大写字母为止的字符串。
1
2
sscanf("123456abcdedfBCDEF""%[^A-Z]", buf);
printf("%s\n", buf);
结果为:123456abcdedf
  6、给定一个字符串iios/12DDWDFF@122,获取 / 和 @ 之间的字符串,先将 "iios/"过滤掉,再将非'@'的一串内容送到buf中
1
2
sscanf("iios/12DDWDFF@122""%*[^/]/%[^@]", buf);
printf("%s\n", buf);
结果为:12DDWDFF
  7、给定一个字符串"hello, world",仅保留"world"。(注意:“,”之后有一空格)
1
2
sscanf(“hello, world”, "%*s%s", buf);
printf("%s\n", buf);
结果为:world
  P.S. %*s表示第一个匹配到的%s被过滤掉,即hello被过滤了,
  如果没有空格则结果为NULL。

sprintf:  头文件同上

//把整数123 打印成一个字符串保存在s 中。
sprintf(s, "%d", 123); //产生"123"
可以指定宽度,不足的左边补空格:
sprintf(s, "%4d%4d", 123, 4567); //产生:" 1234567"
当然也可以左对齐:
sprintf(s, "%-4d%4d", 123, 4567); //产生:"123 4567"


sscanf和sprintf()函数使用说明

sscanf和sprintf()函数使用说明   sprintf()使用说明 在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf ...
  • u011493704
  • u011493704
  • 2014年01月06日 22:27
  • 1542

sscanf 和 sprintf的用法

一、sprintf sprint函数原型为 int sprintf(char *str, const char *format, ...)。作用是格式化字符串,具体功能如下所示: (1)将...
  • u013656962
  • u013656962
  • 2015年12月21日 10:11
  • 273

C语言sprintf与sscanf函数总结及fscanf,sscanf,fprintf,sprintf之间的区别

C语言sprintf与sscanf函数[总结] 1、前言     我们经常涉及到数字与字符串之间的转换,例如将32位无符号整数的ip地址转换为点分十进制的ip地址字符串,或者反过来。从给定的字...
  • benpaobagzb
  • benpaobagzb
  • 2016年03月01日 17:26
  • 597

初学c/c++——深入字符串(sprintf与sscanf)

1.字符串一般就下面几种形式:   1)字符数组   2)char* 指针   3)字符串常量2.两种常见操作:   1)删除字符串中的字符   2)插入字符串中的字符 ps.如果多次删除...
  • peng_666666
  • peng_666666
  • 2016年08月10日 10:01
  • 513

格式化I/O(常用的 sprintf 和 sscanf 总结)

格式化输出、输入 sprintf、sscanf 的用法总结
  • fool_duck
  • fool_duck
  • 2016年04月21日 13:06
  • 2422

使用sprintf及sscanf函数进行CString与CTime之间的转换

 一.将CString转为CTime的几种方法CString   timestr   =   "2000年04月05日";     int   a,b,c   ;     sscanf(timestr...
  • roger_77
  • roger_77
  • 2006年11月28日 00:50
  • 7956

C++格式转换sscanf和sprintf

sscanf 参考网址:http://by2003yb.blog.163.com/blog/static/32691813200771542322467/ sscanf和scanf类似,都是用于输入...
  • sanmingzi3344
  • sanmingzi3344
  • 2015年08月09日 15:48
  • 837

C语言中的输入输出函数详解与比较scanf,sscanf,printf,sprintf,fprintf

这些函数对于从事C语言开发的人员来说经常用到。大学期间学是软件工程,对于c语言接触的不多,既然从事相关的开发工作,自然要多一些记录了,便于查阅和复习,加深自己的理解。这几个函数很多人都遇到过,还是有些...
  • u010178118
  • u010178118
  • 2015年08月29日 17:46
  • 744

kernel 中 sscanf和sprintf()函数使用说明

sprintf()使用说明 在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到...
  • zhangzhi123456789
  • zhangzhi123456789
  • 2015年08月18日 10:29
  • 495

c函数之sprintf,sscanf函数使用(字符串与整型互转函数)

1)sprintf     字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。sprintf 是个变参函数。 函数原型:     int sprintf( char *buffer...
  • Ctrl_qun
  • Ctrl_qun
  • 2017年01月22日 13:48
  • 1418
收藏助手
不良信息举报
您举报文章:sscanf和sprintf用法
举报原因:
原因补充:

(最多只允许输入30个字)