mbstowcs(3)

mbstowcs3

Convert a character string to a wide-character string

Usage

#include <stdlib.h>

size_t

mbstowcs(wchar_t * restrict wcstring, const char * restrict mbstring, size_t nwchars);

Library

Standard C Library (libc, -lc)

Overview

The mbstowcs() function converts a multibyte character string mbstring beginning in the initial conversion state into a wide character string wcstring. No more than nwchars wide characters are stored. A terminating null wide character is appended if there is room.

Return values

The mbstowcs() function returns the number of wide characters converted, not counting any terminating null wide character, or -1 if an invalid multibyte character was encountered.

Errors

The mbstowcs() function will fail if:

[EILSEQ]

An invalid multibyte sequence was detected.

[EINVAL]

The conversion state is invalid.

Releases

83 releases since FreeBSD 2.2.2-RELEASE; the text changed 44 times.

  1. 2.2.2
  2. 2.2.5–3.4
  3. 3.5–3.5.1
  4. 4.0
  5. 4.1–4.2
  6. 4.3
  7. 4.4
  8. 4.5–4.11
  9. 5.0
  10. 5.1
  11. 5.2–5.2.1
  12. 5.3–6.3
  13. 6.4
  14. 7.0
  15. 7.1
  16. 7.2
  17. 7.3
  18. 7.4
  19. 8.0
  20. 8.1
  21. 8.2
  22. 8.3
  23. 8.4
  24. 9.0
  25. 9.1
  26. 9.2
  27. 9.3
  28. 10.0
  29. 10.1
  30. 10.2
  31. 10.3
  32. 10.4
  33. 11.0
  34. 11.1
  35. 11.2
  36. 11.3
  37. 11.4
  38. 12.0
  39. 12.1
  40. 12.2
  41. 12.3
  42. 12.4
  43. 13.0–13.2
  44. 13.3–14.5
  45. 15.0–16.0

Standards

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

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