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)

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

home | help