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

# strcoll(3)

compare strings, according to current collation

## NAME

**strcoll**, **strcoll\_l** – compare strings, according to current collation

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

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

*int*\

**strcoll**(*const char \*s1*, *const char \*s2*);

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

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

*int*\

**strcoll\_l**(*const char \*s1*, *const char \*s2*, *locale\_t loc*);

## DESCRIPTION

The **strcoll**() function lexicographically compares the null-terminated strings *s1* and *s2* according to the current locale collation and returns an integer greater than, equal to, or less than 0, according as *s1* is greater than, equal to, or less than *s2*. If information about the current locale collation is not available, the value of **strcmp**(*s1*, *s2*) is returned.

Although the **strcoll**() function uses the current locale, the **strcoll\_l**() function may be passed a locale directly. See [xlocale(3)](/xlocale/3.md) for more information.

## SEE ALSO

[setlocale(3)](/setlocale/3.md), [strcmp(3)](/strcmp/3.md), [strxfrm(3)](/strxfrm/3.md), [wcscoll(3)](/wcscoll/3.md), [xlocale(3)](/xlocale/3.md)

## STANDARDS

The **strcoll**() function conforms to ISO/IEC 9899:1990 (“ISO C90”).
