⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jsprintf.c

📁 刻录光盘的程序
💻 C
字号:
/* @(#)jsprintf.c	1.12 99/08/30 Copyright 1985 J. Schilling *//* *	Copyright (c) 1985 J. Schilling *//* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; see the file COPYING.  If not, write to * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */#include <mconfig.h>#include <stdio.h>#include <vadefs.h>#include <standard.h>#define BFSIZ	256typedef struct {	short	cnt;	char	*ptr;	char	buf[BFSIZ];	int	count;	FILE	*f;} *BUF, _BUF;LOCAL	void	_bflush		__PR((BUF));LOCAL	void	_bput		__PR((char, long));EXPORT	int	js_fprintf	__PR((FILE *, const char *, ...));EXPORT	int	js_printf	__PR((const char *, ...));LOCAL void _bflush (bp)	register BUF	bp;{	bp->count += bp->ptr - bp->buf;	if (filewrite (bp->f, bp->buf, bp->ptr - bp->buf) < 0)		bp->count = EOF;	bp->ptr = bp->buf;	bp->cnt = BFSIZ;}#ifdef	PROTOTYPESLOCAL void _bput (char c, long l)#elseLOCAL void _bput (c, l)		char	c;		long	l;#endif{ 	register BUF	bp = (BUF)l;	*bp->ptr++ = c;	if (--bp->cnt <= 0)		_bflush (bp);}/* VARARGS2 */#ifdef	PROTOTYPESEXPORT int js_printf(const char *form, ...)#elseEXPORT int js_printf(form, va_alist)	char	*form;	va_dcl#endif{	va_list	args;	_BUF	bb;	bb.ptr = bb.buf;	bb.cnt = BFSIZ;	bb.count = 0;	bb.f = stdout;#ifdef	PROTOTYPES	va_start(args, form);#else	va_start(args);#endif	format(_bput, (long)&bb, form, args);	va_end(args);	if (bb.cnt < BFSIZ)		_bflush (&bb);	return (bb.count);}/* VARARGS3 */#ifdef	PROTOTYPESEXPORT int js_fprintf(FILE *file, const char *form, ...)#elseEXPORT int js_fprintf(file, form, va_alist)	FILE	*file;	char	*form;	va_dcl#endif{	va_list	args;	_BUF	bb;	bb.ptr = bb.buf;	bb.cnt = BFSIZ;	bb.count = 0;	bb.f = file;#ifdef	PROTOTYPES	va_start(args, form);#else	va_start(args);#endif	format(_bput, (long)&bb, form, args);	va_end(args);	if (bb.cnt < BFSIZ)		_bflush (&bb);	return (bb.count);}

⌨️ 快捷键说明

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