Manual Page Search Parameters

STRCSPN(3) Library Functions Manual STRCSPN(3)

span the complement of a string

#include <string.h>

strcspn(const char *s, const char *charset);

The strcspn() function spans the initial part of the NUL-terminated string s as long as the characters from s do not occur in string charset (it spans the complement of charset).

The strcspn() function returns the number of characters spanned.

The following call to strcspn() will return 3, since the first three characters of string s do not occur in string charset:
char *s = "foobar";
char *charset = "bar";
size_t span;

span = strcspn(s, charset);

The following removes the first (if any) newline character from string line. This is useful for trimming the newline after a fgets(3) call.

char line[BUFSIZ];

if (fgets(line, sizeof(line), fp) != NULL)
	line[strcspn(line, "\n")] = '\0';

memchr(3), strchr(3), strpbrk(3), strrchr(3), strsep(3), strspn(3), strstr(3), strtok(3), wcscspn(3)

The strcspn() function conforms to ANSI X3.159-1989 (“ANSI C89”).

The strcspn() function first appeared in AT&T System III UNIX and was reimplemented for 4.3BSD-Tahoe.
June 5, 2013 OpenBSD-current