Substitute first occurence of pattern with another string
#include <publib.h> char *strsub(char *str, const char *pat, const char *sub);
strsub finds the first occurence of the pattern pat in the string str (using a method similar to strstr(3), i.e., no regular expressions), and replaces it with sub. If pat does not occur in str, no substitution is made.
Of course, if sub is an empty string, the pattern is deleted from the string.
strsub returns a pointer to the first character after the substitution, or NULL if no substitution was made.
To substitute up to two occurences of "foo" with "bar" in a line, one might do the following.
p = strsub(line, "foo", "bar"); if (p != NULL) strsub(line, "foo", "bar");
publib(3), strstr(3), strgsub(3)
Lars Wirzenius ([email protected])