一 C
在C中,snprintf在C99中定义,头文件<stdio.h>如下:
int snprintf( char *restrict buffer, int bufsz, const char *restrict format, ... );(C99起)
其中 restrict是c99标准引入的,它只可以用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式.即它告诉编译器,所有修改该指针所指向内存中内容的操作都必须通过该指针来修改,而不能通过其它途径(其它变量或指针)来修改。
二 C++
在C++中,snprintf从C++11引入,头文件<cstdio>,如下:
int snprintf( char* buffer, std::size_t buf_size, const char* format, ... ); (C++11 起)
三 举例
#include <cstdio>
……
char buff[1024];
uint64_t a = 123456789;
snprintf(buff, sizeof(buff), "%d", a);
std::cout << "buff : " << buff;
// 输出 buff : 123456789
……
四 参考