16fdae1bdSYuri Pankov.\" 26fdae1bdSYuri Pankov.\" This file and its contents are supplied under the terms of the 36fdae1bdSYuri Pankov.\" Common Development and Distribution License ("CDDL"), version 1.0. 46fdae1bdSYuri Pankov.\" You may only use this file in accordance with the terms of version 56fdae1bdSYuri Pankov.\" 1.0 of the CDDL. 66fdae1bdSYuri Pankov.\" 76fdae1bdSYuri Pankov.\" A full copy of the text of the CDDL should have accompanied this 86fdae1bdSYuri Pankov.\" source. A copy of the CDDL is also available via the Internet at 96fdae1bdSYuri Pankov.\" http://www.illumos.org/license/CDDL. 106fdae1bdSYuri Pankov.\" 116fdae1bdSYuri Pankov.\" 126fdae1bdSYuri Pankov.\" Copyright 2017 Nexenta Systems, Inc. 136fdae1bdSYuri Pankov.\" 146fdae1bdSYuri Pankov.Dd March 28, 2017 156fdae1bdSYuri Pankov.Dt WCSTOMBS 3C 166fdae1bdSYuri Pankov.Os 176fdae1bdSYuri Pankov.Sh NAME 186fdae1bdSYuri Pankov.Nm wcstombs , 196fdae1bdSYuri Pankov.Nm wcstombs_l 206fdae1bdSYuri Pankov.Nd convert a wide-character string to a multibyte character string 216fdae1bdSYuri Pankov.Sh LIBRARY 226fdae1bdSYuri Pankov.Lb libc 236fdae1bdSYuri Pankov.Sh SYNOPSIS 246fdae1bdSYuri Pankov.In stdlib.h 256fdae1bdSYuri Pankov.Ft size_t 266fdae1bdSYuri Pankov.Fo wcstombs 276fdae1bdSYuri Pankov.Fa "char *restrict s" 286fdae1bdSYuri Pankov.Fa "const wchar_t *restrict pwcs" 296fdae1bdSYuri Pankov.Fa "size_t n" 306fdae1bdSYuri Pankov.Fc 316fdae1bdSYuri Pankov.In stdlib.h 326fdae1bdSYuri Pankov.In xlocale.h 336fdae1bdSYuri Pankov.Ft size_t 346fdae1bdSYuri Pankov.Fo wcstombs_l 356fdae1bdSYuri Pankov.Fa "char *restrict s" 366fdae1bdSYuri Pankov.Fa "const wchar_t *restrict pwcs" 376fdae1bdSYuri Pankov.Fa "size_t n" 386fdae1bdSYuri Pankov.Fa "locale_t loc" 396fdae1bdSYuri Pankov.Fc 406fdae1bdSYuri Pankov.Sh DESCRIPTION 416fdae1bdSYuri PankovThe 426fdae1bdSYuri Pankov.Fn wcstombs 436fdae1bdSYuri Pankovfunction converts a wide-character string 446fdae1bdSYuri Pankov.Fa pwcs 456fdae1bdSYuri Pankovinto a multibyte character string, beginning in the initial conversion state. 466fdae1bdSYuri PankovIf 476fdae1bdSYuri Pankov.Fa s 486fdae1bdSYuri Pankovis not 496fdae1bdSYuri Pankov.Dv NULL , 506fdae1bdSYuri Pankovconverted characters are stored into the array pointed to by 516fdae1bdSYuri Pankov.Fa s . 526fdae1bdSYuri Pankov.Pp 536fdae1bdSYuri PankovConversion continues up to and including a terminating null wide-character, 546fdae1bdSYuri Pankovwhich is also stored, or until 556fdae1bdSYuri Pankov.Fa n 566fdae1bdSYuri Pankovbytes have been stored into the array pointed to by 576fdae1bdSYuri Pankov.Fa s . 586fdae1bdSYuri PankovIf the latter case results in partial multibyte character at the end of the 596fdae1bdSYuri Pankovstring, it is not stored. 606fdae1bdSYuri Pankov.Pp 616fdae1bdSYuri PankovThe behavior of 626fdae1bdSYuri Pankov.Fn wcstombs 636fdae1bdSYuri Pankovfunction is affected by the 646fdae1bdSYuri Pankov.Ev LC_CTYPE 656fdae1bdSYuri Pankovcategory of the current locale. 666fdae1bdSYuri Pankov.Pp 676fdae1bdSYuri PankovThe 686fdae1bdSYuri Pankov.Fn wcstombs_l 696fdae1bdSYuri Pankovfunction behaves identically to 706fdae1bdSYuri Pankov.Fn wcstombs , 716fdae1bdSYuri Pankovexcept instead of using the current locale, it uses the locale as specified by 726fdae1bdSYuri Pankov.Fa loc . 736fdae1bdSYuri Pankov.Sh RETURN VALUES 746fdae1bdSYuri PankovThe 756fdae1bdSYuri Pankov.Fn wcstombs 766fdae1bdSYuri Pankovand 776fdae1bdSYuri Pankov.Fn wcstombs_l 786fdae1bdSYuri Pankovfunctions return the number of bytes in the resulting character sequence, not 796fdae1bdSYuri Pankovincluding the terminating null 806fdae1bdSYuri Pankov.Pq if any , 816fdae1bdSYuri Pankovor 826fdae1bdSYuri Pankov.Li \-1 836fdae1bdSYuri Pankovif a code is reached that does not correspond to a valid character. 846fdae1bdSYuri Pankov.Sh ERRORS 856fdae1bdSYuri PankovThe 866fdae1bdSYuri Pankov.Fn wcstombs 876fdae1bdSYuri Pankovand 886fdae1bdSYuri Pankov.Fn wcstombs_l 896fdae1bdSYuri Pankovfunctions will fail if: 906fdae1bdSYuri Pankov.Bl -tag -width Er 916fdae1bdSYuri Pankov.It Er EILSEQ 926fdae1bdSYuri PankovA wide-character code does not correspond to a valid character. 936fdae1bdSYuri Pankov.It Er EINVAL 946fdae1bdSYuri PankovThe conversion state is invalid. 956fdae1bdSYuri Pankov.El 966fdae1bdSYuri Pankov.Sh INTERFACE STABILITY 976fdae1bdSYuri PankovThe 986fdae1bdSYuri Pankov.Fn wcstombs 996fdae1bdSYuri Pankovfunction is 1006fdae1bdSYuri Pankov.Sy Standard . 1016fdae1bdSYuri PankovThe 1026fdae1bdSYuri Pankov.Fn wcstombs_l 1036fdae1bdSYuri Pankovfunction is 104bccbd30bSPeter Tribble.Sy Uncommitted . 1056fdae1bdSYuri Pankov.Sh MT-LEVEL 1066fdae1bdSYuri Pankov.Sy MT-Safe 1076fdae1bdSYuri Pankov.Sh SEE ALSO 1086fdae1bdSYuri Pankov.Xr mbstowcs 3C , 1096fdae1bdSYuri Pankov.Xr newlocale 3C , 1106fdae1bdSYuri Pankov.Xr setlocale 3C , 1116fdae1bdSYuri Pankov.Xr uselocale 3C , 1126fdae1bdSYuri Pankov.Xr wcsnrtombs 3C , 1136fdae1bdSYuri Pankov.Xr wctomb 3C , 114*bbf21555SRichard Lowe.Xr attributes 7 , 115*bbf21555SRichard Lowe.Xr environ 7 , 116*bbf21555SRichard Lowe.Xr standards 7 117