STRCSPN(3) | Library Functions Manual | STRCSPN(3)

# NAME

`strcspn` — span the complement of a string

# SYNOPSIS

`#include <string.h>`

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

# DESCRIPTION

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).

# RETURN VALUES

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

# EXAMPLES

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';

# SEE ALSO

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

# STANDARDS

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

# HISTORY

The `strcspn`() function first appeared in AT&T System III UNIX and was reimplemented for 4.3BSD.

December 11, 2024 | Debian