Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
/* Part	of publib.

   Copyright (c) 1994-2006 Lars	Wirzenius.  All	rights reserved.

   Redistribution  and	use  in	 source	and binary forms, with or
without
   modification, are permitted provided	that the following condi-
tions
   are met:

   1.  Redistributions of source code must retain the above copy-
right
      notice, this list	of  conditions	and  the  following  dis-
claimer.

   2. Redistributions in binary	form must reproduce the	above
      copyright	notice,	this list of conditions	and the	following
      disclaimer in the	documentation and/or other materials pro-
vided
      with the distribution.

   THIS	SOFTWARE IS PROVIDED BY	THE AUTHOR ``AS	IS'' AND ANY  EX-
PRESS
   OR  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IM-
PLIED
   WARRANTIES OF MERCHANTABILITY AND  FITNESS  FOR  A  PARTICULAR
PURPOSE
   ARE	DISCLAIMED.   IN  NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY
   DIRECT, INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY,  OR  CONSE-
QUENTIAL
   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTI-
TUTE
   GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR	BUSINESS
   INTERRUPTION) HOWEVER CAUSED	AND ON ANY THEORY OF LIABILITY,
   WHETHER IN CONTRACT,	STRICT LIABILITY, OR TORT (INCLUDING
   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE  OF
THIS
   SOFTWARE,  EVEN  IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
STRGSUB(3)		     C Programmer's Manual		    STRGSUB(3)

*/

NAME
       strgsub - substitute all	occurences of pattern with another string

SYNOPSIS
       #include	<publib.h>
       int strgsub(char	*str, const char *pat, const char *sub,	size_t max);

DESCRIPTION
       strgsub finds all occurences of the pattern pat in the string str  (us-
       ing  a  method  similar	to strstr(3) to	find the occurrences, i.e., no
       regular expressions), and replaces each with sub. If pat	does not occur
       in  str,	 no substitution is made.  The size (including the terminating
       '\0') of	the string after the substitutions may be at most  max	chars.
       If it would be larger, no substitutions are made.

       Of course, if sub is an empty string, the occurences of the pattern are
       deleted from the	string.

RETURN VALUE
       strgsub returns the number of substitutions made, or -1 if  the	result
       would not have fit into max chars.

EXAMPLE
       To  substitute  every "foo" with	"bar" in a line, one might do the fol-
       lowing.

	    strgsub(line, "foo", "bar",	strlen(line)+1);

SEE ALSO
       publib(3), strstr(3), strsub(3)

AUTHOR
       Lars Wirzenius (lars.wirzenius@helsinki.fi)

Publib			     C Programmer's Manual		    STRGSUB(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | EXAMPLE | SEE ALSO | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=strgsub&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help