sprintf函数的用法

sprintf函数的用法

sprintf指的是字符串格式化命令,主要功能是把格式化的数据写入某个字符串中,即发送格式化输出到 string 所指向的字符串。sprintf 是个变参函数。使用sprintf 对于写入buffer的字符数是没有限制的,这就存在了buffer溢出的可能性。解决这个问题,可以考虑使用 snprintf函数,该函数可对写入字符数做出限制。

函数声明:

int sprintf(char *string, char *format [,argument,…]);

参数列表:

string-- 这是指向一个字符数组的指针,该数组存储了 C 字符串。
format-- 这是字符串,包含了要被写入到字符串 string 的文本。它可以包含嵌入的 format 标签,
format 标签可被随后的附加参数中指定的值替换,并按需求进行格式化。
format 标签属性是%[flags][width][.precision][length]specifier
[argument]...:根据不同的 format 字符串,函数可能需要一系列的附加参数,每个参数包含了一个
要被插入的值,替换了 format 参数中指定的每个 % 标签。参数的个数应与 % 标签的个数相同。

功能:

把格式化的数据写入某个字符串缓冲区。

返回值:

如果成功,则返回写入的字符总数,不包括字符串追加在字符串末尾的空字符。如果失败,则返回一个负数。

tips:
  1. 该函数包含在stdio.h的头文件中,使用时需要加入:#include <stdio.h>。
  2. sprintf与printf函数的区别:二者 功能相似,但是 sprintf函数打印到字符串中,而printf函数打印输出到屏幕上。 sprintf函数在我们完成其他数据类型转换成字符串类型的操作中应用广泛。
  3. sprintf函数的格式 int sprintf(char *string, char *format [,argument,…]);可选参数可以是任意个。
  4. 可以控制精度,如下:
#include <stdio.h>
int main()
{
    char str[20];
    double f = 14.309948;
    sprintf(str, "%6.2f", f); // 共6位右对齐,其中包含2位小数和1个小数点
    printf("%s", str);
    return 0;
}
  1. 可以将多个数值连接起来:
#include <stdio.h>
int main()
{
    char str[20];
    int a=2345, b = 7653;
    sprintf(str, "%d,%d=m", a, b);
    printf("%s", str);
    return 0;
}
posted @   笑着的程序员  阅读(722)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示