Converts characters coded in one codeset to characters coded in
another codeset.
Format
#include <iconv.h>
size_t iconv (iconv_t cd, char **inbuf, size_t
*inbytesleft, char **outbuf, size_t
*outbytesleft);
Arguments
- cd
- A conversion descriptor. This is returned by a successful call
to iconv_open.
- inbuf
- A pointer to a variable that points to the first character in
the input buffer.
- inbytesleft
- Initially, this argument is a pointer to a variable that
indicates the number of bytes to the end of the input buffer
(inbuf). When the conversion is completed, the variable
indicates the number of bytes in inbuf not converted.
- outbuf
- A pointer to a variable that points to the first available
byte in the output buffer. The output buffer contains the converted
characters.
- outbytesleft
- Initially, this argument is a pointer to a variable that
indicates the number of bytes to the end of the output buffer
(outbuf). When the conversion is completed, the variable
indicates the number of bytes left in outbuf.
Description
This function converts characters in the buffer pointed to
by inbuf to characters in another code set. The resulting
characters are stored in the buffer pointed to by outbuf.
The conversion type is specified by the conversion descriptor
cd. This descriptor is returned from a successful call
to iconv_open.
If an invalid character is found in the input buffer, the conversion
stops after the last successful conversion. The variable pointed to
by inbytesleft is updated to reflect the number of bytes
in the input buffer that are not converted. The variable pointed to
by outbytesleft is updated to reflect the number of bytes
remaining in the output buffer.
Return Values
x | Number of non-identical conversions
performed. Indicates successful conversion. In most cases 0
is returned. |
(size_t) -1 |
Indicates an error condition. The function sets errno to one
of the following:
- EBADF - The cd argument is not a valid conversion
descriptor.
- EILSEQ - The conversion stops when an invalid character
detected.
- E2BIG - The conversion stops because of insufficient space
in the output buffer.
- EINVAL - The conversion stops because of an incomplete
character at the end of the input buffer.
|
Previous Page | Next Page | Table of Contents | Index