snprintf函数用于将格式化的数据写入字符串中,与sprintf函数类似,但是snprintf函数可以控制写入的最大字符数,避免发生缓冲区溢出的情况。
其基本用法如下:
int snprintf(char *str, size_t size, const char *format, ...);
其中,str是要写入的字符串的指针,size是最大写入字符数(包括结尾的’\0’),format是格式化字符串,后面的参数与format中的格式化符号对应。
示例如下:
#include <iostream>
#include <cstdio>
int main() {
char buf[100];
int num = 123;
float f = 3.14;
snprintf(buf, 100, "The number is %d and the float is %.2f", num, f);
std::cout << buf << std::endl;
return 0;
}
在上面的示例中,snprintf函数将数字和浮点数格式化后写入buf字符串中,并输出到控制台。