c++ snprintf函數(shù)的用法是什么

c++
小億
121
2024-03-30 17:21:04

snprintf函數(shù)用于將格式化的數(shù)據(jù)寫(xiě)入字符串中,與sprintf函數(shù)類(lèi)似,但是snprintf函數(shù)可以控制寫(xiě)入的最大字符數(shù),避免發(fā)生緩沖區(qū)溢出的情況。

其基本用法如下:

int snprintf(char *str, size_t size, const char *format, ...);

其中,str是要寫(xiě)入的字符串的指針,size是最大寫(xiě)入字符數(shù)(包括結(jié)尾的’\0’),format是格式化字符串,后面的參數(shù)與format中的格式化符號(hào)對(duì)應(yīng)。

示例如下:

#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函數(shù)將數(shù)字和浮點(diǎn)數(shù)格式化后寫(xiě)入buf字符串中,并輸出到控制臺(tái)。

0