sprintf函数用法详解
sprintf属于标准输入输出函数之一,声明位于stdio.h文件,具体的声明格式为:int __cdecl sprintf(char * __restrict__ _Dest,const char * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;功能类似于printf,不同点在于输出的目标为指定的缓存区域而不是显示器。
由于sprintf位于stdio.h文件,所以使用时应包含stdio.h即:#include
sprintf第一个参数为char指针,需要先定义一个char型数据,作为缓存。
该函数与printf形式相似,取消第一个参数后功能和printf相同,支持printf 的格式化输出:sprintf(buffer, "%d, %f, %s", 123, 123, "Hello world !");
为了便于观察实验结果,这里使用printf将buffer内容打印出来。
程序运行结果显示为:123, 0.000000, Hello world !,中间原本是123变成了0,这是由于格式化输入的是整数,在进行强制转换是出错了。
改成:sprintf(buffer, "%d, %f, %s", 123, 123.0, "Hello world !");实验结果OK。
利用sprintf可以实现多个字符串的连接:
#include
int main(int argc, char *argv[]) {char str;//定义缓存区 char str1[] = "str1";char str2[] = "str2";char str3[] = "str3";sprintf(str, "%s%s%s", str1, str2, str3);printf("%s", str);//将buffer打印出来 return 0;}
通过实验可以发现,sprintf返回的是格式化输出到缓存的字符个数。
版权声明:本站【趣百科】文章素材来源于网络或者用户投稿,未经许可不得用于商用,如转载保留本文链接:https://www.qubaik.com/article/81164.html