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
  2. sprintf与printf函数的区别:二者 功能相似,但是 sprintf函数打印到字符串中,而printf函数打印输出到屏幕上。 sprintf函数在我们完成其他数据类型转换成字符串类型的操作中应用广泛。
  3. sprintf函数的格式 int sprintf(char *string, char *format [,argument,…]);可选参数可以是任意个。
  4. 可以控制精度,如下:
#include 
int main()
{
    char str[20];
    double f = 14.309948;
    sprintf(str, "%6.2f", f); // 共6位右对齐,其中包含2位小数和1个小数点
    printf("%s", str);
    return 0;
}
  1. 可以将多个数值连接起来:
#include 
int main()
{
    char str[20];
    int a=2345, b = 7653;
    sprintf(str, "%d,%d=m", a, b);
    printf("%s", str);
    return 0;
}

你可能感兴趣的:(编程语言能力提升,c语言)