fputs.c

来自「Newlib 嵌入式 C库 标准实现代码」· C语言 代码 · 共 106 行

C
106
字号
/* * Copyright (c) 1990 The Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms are permitted * provided that the above copyright notice and this paragraph are * duplicated in all such forms and that any documentation, * advertising materials, and other materials related to such * distribution and use acknowledge that the software was developed * by the University of California, Berkeley.  The name of the * University may not be used to endorse or promote products derived * from this software without specific prior written permission. * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. *//*FUNCTION<<fputs>>---write a character string in a file or streamINDEX	fputsINDEX	_fputs_rANSI_SYNOPSIS	#include <stdio.h>	int fputs(const char *<[s]>, FILE *<[fp]>);	#include <stdio.h>	int _fputs_r(struct _reent *<[ptr]>, const char *<[s]>, FILE *<[fp]>);TRAD_SYNOPSIS	#include <stdio.h>	int fputs(<[s]>, <[fp]>)	char *<[s]>;	FILE *<[fp]>;	#include <stdio.h>	int _fputs_r(<[ptr]>, <[s]>, <[fp]>)	struct _reent *<[ptr]>;	char *<[s]>;	FILE *<[fp]>;DESCRIPTION<<fputs>> writes the string at <[s]> (but without the trailing null)to the file or stream identified by <[fp]>.<<_fputs_r>> is simply the reentrant version of <<fputs>> that takesan additional reentrant struct pointer argument: <[ptr]>.RETURNSIf successful, the result is <<0>>; otherwise, the result is <<EOF>>.PORTABILITYANSI C requires <<fputs>>, but does not specify that the result onsuccess must be <<0>>; any non-negative value is permitted.Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,<<lseek>>, <<read>>, <<sbrk>>, <<write>>.*/#include <_ansi.h>#include <stdio.h>#include <string.h>#include "fvwrite.h"#include "local.h"/* * Write the given string to the given file. */int_DEFUN(_fputs_r, (ptr, s, fp),       struct _reent * ptr _AND       char _CONST * s _AND       FILE * fp){  int result;  struct __suio uio;  struct __siov iov;  iov.iov_base = s;  iov.iov_len = uio.uio_resid = strlen (s);  uio.uio_iov = &iov;  uio.uio_iovcnt = 1;  CHECK_INIT(ptr, fp);  _flockfile (fp);  result = __sfvwrite_r (ptr, fp, &uio);  _funlockfile (fp);  return result;}#ifndef _REENT_ONLYint_DEFUN(fputs, (s, fp),       char _CONST * s _AND       FILE * fp){  return _fputs_r (_REENT, s, fp);}#endif /* !_REENT_ONLY */

⌨️ 快捷键说明

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