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字符串中,并輸出到控制臺。