snprintf 笔记

来源:互联网 发布:suse安装yum源 编辑:程序博客网 时间:2024/05/22 10:34

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.

0 0
原创粉丝点击