Scroll to navigation

WideCharToMultiByte(3w) Wine API WideCharToMultiByte(3w)


WideCharToMultiByte (KERNEL32.@)


INT WideCharToMultiByte
UINT page,
DWORD flags,
INT srclen,
LPSTR dst,
INT dstlen,
LPCSTR defchar,
BOOL* used


Convert a Unicode character string into a multibyte string.


page [In] Code page character set to convert to.
flags [In] Mapping Flags (MB_ constants from "winnls.h").
src [In] Source string buffer.
srclen [In] Length of src (in WCHARs), or -1 if src is NUL terminated.
dst [Out] Destination buffer.
dstlen [In] Length of dst (in bytes), or 0 to compute the required length.
defchar [In] Default character to use for conversion if no exact conversion can be made.
used [Out] Set if default character was used in the conversion.


Success: If dstlen > 0, the number of characters written to dst. If dstlen == 0, number of characters needed to perform the conversion. In both cases the count includes the terminating NUL.
Failure: 0. Use GetLastError(3w) to determine the cause. Possible errors are ERROR_INSUFFICIENT_BUFFER, if not enough space is available in dst and dstlen != 0, and ERROR_INVALID_PARAMETER, if an invalid parameter was given.


Declared in "winnls.h".
Implemented in "dlls/kernel32/locale.c".
Debug channel "nls".
Oct 2012 Wine API