sprintf.c

来自「在x86平台上运行不可信任代码的sandbox。」· C语言 代码 · 共 50 行

C
50
字号
#include <stdio.h>#include <errno.h>#include "ioprivate.h"struct sprintbuf {	char *buf;};static intsprintputch(int ch, struct sprintbuf *b){	*b->buf++ = ch;	return 0;}intvsprintf(char *buf, const char *fmt, va_list ap){	struct sprintbuf b = {buf};	if (buf == NULL) {		errno = EINVAL;		return -1;	}	// print the string to the buffer	int cnt = vprintfmt((void*)sprintputch, &b, fmt, ap);	// null terminate the buffer	*b.buf = '\0';	return cnt;}intsprintf(char *buf, const char *fmt, ...){	va_list ap;	int rc;	va_start(ap, fmt);	rc = vsprintf(buf, fmt, ap);	va_end(ap);	return rc;}

⌨️ 快捷键说明

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