wcscoll(3)

wcscoll3

Compare wide strings according to current collation

Usage

#include <wchar.h>

int

wcscoll(const wchar_t *s1, const wchar_t *s2);

Library

Standard C Library (libc, -lc)

Overview

The wcscoll() function compares the null-terminated strings s1 and s2 according to the current locale collation order. In the “C” locale, wcscoll() is equivalent to wcscmp().

Return values

The wcscoll() function returns an integer greater than, equal to, or less than 0, if s1 is greater than, equal to, or less than s2.

No return value is reserved to indicate errors; callers should set errno to 0 before calling wcscoll(). If it is non-zero upon return from wcscoll(), an error has occurred.

Errors

The wcscoll() function will fail if:

[EILSEQ]

An invalid wide character code was specified.

[ENOMEM]

Cannot allocate enough memory for temporary buffers.

Releases

56 releases since FreeBSD 5.0-RELEASE; the text changed 33 times.

  1. 5.0–6.3
  2. 6.4
  3. 7.0
  4. 7.1
  5. 7.2
  6. 7.3
  7. 7.4
  8. 8.0
  9. 8.1
  10. 8.2
  11. 8.3
  12. 8.4
  13. 9.0
  14. 9.1
  15. 9.2
  16. 9.3
  17. 10.0
  18. 10.1
  19. 10.2
  20. 10.3
  21. 10.4
  22. 11.0
  23. 11.1
  24. 11.2
  25. 11.3
  26. 11.4
  27. 12.0
  28. 12.1
  29. 12.2
  30. 12.3
  31. 12.4
  32. 13.0–13.2
  33. 13.3–14.5
  34. 15.0–16.0

Standards

The wcscoll() function conforms to ISO/IEC 9899:1999 (“ISO C99”).

Bugs

The current implementation of wcscoll() only works in single-byte LC_CTYPE locales, and falls back to using wcscmp() in locales with extended character sets.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.