---
name: "strspn"
section: "3"
platform: "macos"
package: "Libc"
version: "1752.120.2"
release: "macOS 26.5"
platforms: ["linux", "freebsd", "macos"]
url: "https://new.carta.tech/strspn"
---

# strspn(3)

span a string

## NAME

**strspn**, **strcspn** – span a string

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<string.h\>**

*size\_t*\

**strspn**(*const char \*s*, *const char \*charset*);

*size\_t*\

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

## DESCRIPTION

The **strspn**() function spans the initial part of the null-terminated string *s* as long as the characters from *s* occur in the null-terminated string *charset*. In other words, it computes the string array index of the first character of *s* which is not in *charset*, else the index of the first null character.

The **strcspn**() function spans the initial part of the null-terminated string *s* as long as the characters from *s* **do** **not** occur in the null-terminated string *charset* (it spans the **complement** of *charset*). In other words, it computes the string array index of the first character of *s* which is also in *charset*, else the index of the first null character.

## RETURN VALUES

The **strspn**() and **strcspn**() functions return the number of characters spanned.

## SEE ALSO

[memchr(3)](/memchr/3.md), [strchr(3)](/strchr/3.md), [strpbrk(3)](/strpbrk/3.md), [strrchr(3)](/strrchr/3.md), [strsep(3)](/strsep/3.md), [strstr(3)](/strstr/3.md), [strtok(3)](/strtok/3.md), [wcsspn(3)](/wcsspn/3.md)

## STANDARDS

The **strspn**() and **strcspn**() functions conform to ISO/IEC 9899:1990 (“ISO C90”).
