代码点读机 / C / snprintf

snprintf C · 输入输出

按格式把数据写进字符数组,并限制最多写入多少字节,避免缓冲区溢出。

怎么用

snprintf(目标字符数组, 最大字节数, "格式字符串", 参数...);

小例子

#include <stdio.h>
int main(void) {
    char buf[10];
    snprintf(buf, sizeof(buf), "Hello %s", "World");
    printf("%s", buf);
    return 0;
}

运行结果

输出 Hello Wor

提醒:sizeof(buf) 包含结尾的 \0 位置,超长会自动截断;优先用它代替 sprintf

官方文档:https://en.cppreference.com/w/c/io/fprintf

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← C全部词条