STRCOLL(3) | Library Functions Manual | STRCOLL(3)

# NAME

`strcoll`, `strcoll_l` — compare strings according to current collation

# SYNOPSIS

`#include <string.h>`

int
`strcoll`(const char *s1, const char *s2);

int
`strcoll_l`(const char *s1, const char *s2, locale_t locale);

# DESCRIPTION

The `strcoll`() and `strcoll_l`() functions lexicographically compare the NUL-terminated strings s1 and s2 according to the current locale collation and return an integer greater than, equal to, or less than 0, according to whether s1 is greater than, equal to, or less than s2.

On OpenBSD, they have the same effect as strcmp(3), and the global locale, the thread-specific locale, and the locale argument are ignored. On other operating systems, results may depend on the `LC_CTYPE` and `LC_COLLATE` locale categories set with setlocale(3), uselocale(3), or newlocale(3).

# SEE ALSO

newlocale(3), setlocale(3), strcmp(3), strxfrm(3), wcscoll(3)

# STANDARDS

The `strcoll`() function conforms to ANSI X3.159-1989 (“ANSI C89”), and `strcoll_l`() to IEEE Std 1003.1-2008 (“POSIX.1”).

# HISTORY

The `strcoll`() function has been available since 4.3BSD-Reno, and `strcoll_l`() since OpenBSD 6.2.

January 18, 2019 | Debian