snprintf 笔记

xiaoxiao2021-02-28  98

snprintf 函数存在于 stdio.h 和 cstdio.h 头文件中。 该函数原型为

int snprintf ( char * p, size_t len, const char * format, ... );

参数: char * p 为写入c风格字符串的指针 size_t len 为所接受字符串的最大长度 const char * formant 为字符串格式模版,为c风格字符串 … 为可变参数

该函数若成功则返回欲写入的字符串长度,若出错则返回负值。

snprintf将可变参数按照formant进行转换,生成新的c风格字符串,若新字符串长度小于len,则将新字符串复制于指针p处;若新字符串长度大于等于len,则截取新字符串前len-1个字符,赋值于指针p处,并添加空字符

此外,snprintf为sprintf的安全版本 而sprintf函数的原型为

int sprintf( char * buffer, const char * format , ... );

返回被写入buffer 的字节数,结束字符‘\0’不计入内,出错则返回-1. 如果 buffer 或 format 是空指针,且不出错而继续,函数将返回-1.

转载请注明原文地址: https://www.6miu.com/read-43236.html

最新回复(0)