您的位置:首页 > 其它

snprintf vsnprintf的用法

2014-06-29 02:19 513 查看
SYNOPSIS
#include <stdio.h>

int printf(const char *format, ...);
int fprintf(FILE *stream, const char *format, ...);
int sprintf(char *str, const char *format, ...);
int snprintf(char *str, size_t size, const char *format, ...);

#include <stdarg.h>

int vprintf(const char *format, va_list ap);
int vfprintf(FILE *stream, const char *format, va_list ap);
int vsprintf(char *str, const char *format, va_list ap);
int vsnprintf(char *str, size_t size, const char *format, va_list ap);


snprintf与vsnprintf都是将n字节写入str所指向的内存,n的大小包含'\0'

如果要写入的字符串的长度大于或者等于n,则源字符串被截断,并且不会向目的内存写入'\0'

函数的返回值为实际写入字节数的大小,所以,如果函数返回值大于或者等于n,则证明源字符串被截断
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  snprintf vsnprintf