想写一下C++中sprintf函数的用法

想写一下C++中sprintf函数的用法

    • 使用说明
    • 参数列表
    • 示例
    • 值得注意的地方

使用说明

sprintf函数包含在C++的头文件cstdio中,用于向字符串中按照指定格式插入内容,具体调用形式如下:
int sprintf( char *str, const char char * format,… );

参数列表

参数 描述
str 指向存储C字符串数组的指针
format 一段包括格式字符串的C字符
…(additional arguments) 取决于format字符串,内容为待添加到str串中的内容

示例

1
2
3
4
5
6
7
8
9
10
11
/* sprintf example */
#include <stdio.h>

int main ()
{
  char buffer [50];
  int n, a=5, b=3;
  n=sprintf (buffer, "%d plus %d is %d", a, b, a+b);
  printf ("[%s] is a string %d chars long\n",buffer,n);
  return 0;
}

这段代码的输出结果为:

1
[5 plus 3 is 8] is a string 13 chars long

由此可知,sprintf函数在此处按照指定格式实现了字符串的连接,函数的返回值为一个整型数字,代表拼接后字符串的总长度。

值得注意的地方

  1. 字符串str必须足够大,能够保证拼接后的字符串不会溢出。
  2. 这一函数在调用结束后,会自动在字符串的结束插入一个结束符’\0’。