snprintf.c

来自「用户认证及计费系统的网络驱动库」· C语言 代码 · 共 28 行

C
28
字号
/*
 * Throughout the book I use snprintf() because it's safer than sprintf().
 * But as of the time of this writing, not all systems provide this
 * function.  The function below should only be built on those systems
 * that do not provide a real snprintf().
 * The function below just acts like sprintf(); it is not safe, but it
 * tries to detect overflow.
 */

#include	"unp.h"

#include	<stdarg.h>		/* ANSI C header file */

int
snprintf(char *buf, size_t size, const char *fmt, ...)
{
	int			n;
	va_list		ap;

	va_start(ap, fmt);
	vsprintf(buf, fmt, ap);	/* Sigh, some vsprintf's return ptr, not length */
	n = strlen(buf);
	va_end(ap);
	if (n >= size)
		err_quit("snprintf: '%s' overflowed array", fmt);
	return(n);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?