三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

C语言中的snprintf函数

C语言中的snprintf函数

snprintf函数是在库stdio.h中定义的,功能是将格式化输出写入指定大小的缓冲区
,函数形式为:

intsnprintf(char*s,size_tn,constchar*format,...);

输入参数

  • s:指向用于存储最终 C 字符串的缓冲区的指针,缓冲区大小至少要为 n 个字符。
  • n:缓冲区中最多可使用的字节数,生成的字符串长度最多为 n-1,末尾会自动预留空字符\0的空间。
  • format:格式字符串,遵循与 printf 中 format 相同的规范,用于定义输出格式。
  • ...:可变参数列表,数量需与 format 中的格式说明符个数匹配,用于替换格式串中的占位符,多余参数会被忽略。

返回值

  • 返回的是当缓冲区大小n足够大时,原本会写入的字符总数,不包含末尾的终止空字符\0

示例

#include<stdio.h>#defineBUF_SIZE100intmain(){charbuffer[BUF_SIZE];snprintf(buffer,BUF_SIZE,"sum of %d and %d is %d\n",10,20,10+20);puts(buffer);return0;}

运行结果:

← 返回列表