鱼C论坛

 找回密码
 立即注册
查看: 5799|回复: 11

[函数快查] sprintf -- 写入格式化数据到字符串

[复制链接]
发表于 2016-2-11 18:54:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
sprintf 函数文档


函数概要:

printf 函数类似,不过 sprintf 函数是将格式化数据写入到字符串中。

缓冲区的尺寸必须足够大,以至于可以包含整个转换后的结果。(snprintf 函数是更安全的版本)

format 参数后边的额外参数数量由 format 决定,具体用法请参考 printf 函数中格式化占位符的解释。


函数原型:

  1. #include <stdio.h>
  2. ...
  3. int sprintf(char *str, const char *format, ...);
复制代码


参数解析:

参数
含义
str 指向存放结果字符串的缓冲区
format 格式化字符串
... 可选参数,具体请参考 printf 函数文档


返回值:

如果函数调用成功,返回值是实际写入的字符数(不包含表示字符串结束的 '\0');

如果函数调用失败,返回值是一个负数。


演示:

  1. #include <stdio.h>

  2. int main()
  3. {
  4.         char buffer[256];
  5.         int n;

  6.         n = sprintf(buffer, "%d 加上 %d 的结果是:%d\n", 3, 5, 3 + 5);
  7.         printf("%s长度是:%d\n", buffer, n);

  8.         return 0;
  9. }
复制代码

搜狗截图20160212173219.png

版权归鱼C工作室(www.fishc.com)所有,转载请注明来源!

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
还差几 + 1 + 1 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2016-4-21 10:15:06 | 显示全部楼层
@小甲鱼 小甲鱼老师:为什么buffer的长度是28?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2016-7-17 16:18:08 | 显示全部楼层
我这里的运行结果是25,sprintf与printf的区别是:sprintf指定了格式化输出结果存储的地址。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2017-2-14 21:49:38 | 显示全部楼层
get it
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2017-12-29 15:51:14 | 显示全部楼层
SkyBurner 发表于 2016-4-21 10:15
@小甲鱼 小甲鱼老师:为什么buffer的长度是28?

由于在linux中中文字符占用3个字节,上面的:也是是中文字符注意不要忘了占位符也算一字节
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2018-3-11 12:03:27 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2019-1-9 20:55:04 | 显示全部楼层
weiy、 发表于 2017-12-29 15:51
由于在linux中中文字符占用3个字节,上面的:也是是中文字符注意不要忘了占位符也算一字节

啥是占位符?大佬

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2019-3-15 22:22:23 | 显示全部楼层
cookies945 发表于 2019-1-9 20:55
啥是占位符?大佬

就是 %s %d %f
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2019-3-18 21:07:58 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2019-10-8 10:32:29 | 显示全部楼层

多个占位符也只算一个字节吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2020-7-4 22:22:12 | 显示全部楼层
s+printf?还有这样的函数!才知道。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2020-7-12 13:20:24 | 显示全部楼层
sprint 和print的区别是什么啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1

GMT+8, 2020-12-5 09:48

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表