功能
sprintf函数是C语言中的一个输入/输出函数,它的作用是从一个字符串中提取字符串,浮点数,整数等值,并将其保存到指定的变量中。一句话总结就是发送格式化输出到 str 所指向的字符串。
标准库
<stdio.h>
声明(格式)
int sprintf(char *str, const char *format, ...)
大白话参数说明
str
这是指向一个字符数组的指针,该数组存储了 C 字符串。可以放置一个字符型数组的地址,但不能放string类字符串。
format
这是字符串,包含了要被写入到字符串 str 的文本。它可以包含嵌入的 format 标签,format 标签可被随后的附加参数中指定的值替换,并按需求进行格式化。
…
根据不同的 format 字符串,函数可能需要一系列的附加参数,每个参数包含了一个要被插入的值,替换了 format 参数中指定的每个 % 标签。参数的个数应与 % 标签的个数相同。参数与 % 标签的顺序对应。
大白话格式说明
sprintf(字符型数组首地址,输出格式,具体输出内容)
sprintf(字符型数组首地址,输出格式,具体输出内容)你其实可以看作printf()函数里的 printf(输出格式,具体输出内容),printf里怎么写你在sprintf里就怎么写,你要转化的字符串就是你要输出的内容。
返回值
如果成功,则返回写入的字符总数,不包括字符串追加在字符串末尾的空字符。如果失败,则返回一个负数。
使用示范
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
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() | 菜鸟教程 (runoob.com)
其他
sscanff函数介绍和用法详解,我感觉它和sprintf函数很类似。