【C/C++】sprintf函数介绍和用法详解

时间:2025-04-18 14:28:45

功能

        sprintf函数是C语言中的一个输入/输出函数,它的作用是从一个字符串中提取字符串,浮点数,整数等值,并将其保存到指定的变量中。一句话总结就是发送格式化输出到 str 所指向的字符串。

标准库

        <>

声明(格式)

         int sprintf(char *str, const char *format, ...) 

大白话参数说明

str

        这是指向一个字符数组的指针,该数组存储了 C 字符串。可以放置一个字符型数组的地址,但不能放string类字符串。

format

        这是字符串,包含了要被写入到字符串 str 的文本。它可以包含嵌入的 format 标签,format 标签可被随后的附加参数中指定的值替换,并按需求进行格式化。

        根据不同的 format 字符串,函数可能需要一系列的附加参数,每个参数包含了一个要被插入的值,替换了 format 参数中指定的每个 % 标签。参数的个数应与 % 标签的个数相同。参数与 % 标签的顺序对应。

大白话格式说明

        sprintf(字符型数组首地址,输出格式,具体输出内容)

        sprintf(字符型数组首地址,输出格式,具体输出内容)你其实可以看作printf()函数里的 printf(输出格式,具体输出内容),printf里怎么写你在sprintf里就怎么写,你要转化的字符串就是你要输出的内容。

 返回值

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

使用示范

#include <>
#include <>
#include <>

int main()
{
   int day, year;
   char weekday[20], month[20], dtm[100];

   strcpy( dtm, "Saturday March 25 1989" );
   sscanf( dtm, "%s %s %d  %d", weekday, month, &day, &year );

   printf("%s %d, %d = %s\n", month, day, year, weekday );
    
   return(0);
}

参考

C 库函数 – sprintf() | ()

其他

sscanff函数介绍和用法详解,我感觉它和sprintf函数很类似。