|
≫ |
|
|
|
HP OpenVMS HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)
あるコードセットでコーディングされている文字を別のコードセットでコーティングされた文字に変換します。
形式
#include <iconv.h>
size_t iconv (iconv_t cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft);
引数
cd変換記述子。
iconv_openの呼び出しが正常終了すると,この値が返されます。
inbuf入力バッファの 1 文字目を指す変数を指すポインタ。
inbytesleftこの引数の初期値は,入力バッファ (inbuf) の末尾までのバイト数を示す変数を指すポインタです。変換が完了すると,この変数は
inbuf で変換されなかったバイト数を示します。
outbuf出力バッファの最初の使用可能なバイトを指す変数を指すポインタ。出力バッファには変換後の文字が格納されます。
outbytesleftこの引数の初期値は,出力バッファ (outbuf) の末尾までのバイト数を示す変数を指すポインタです。変換が完了すると,この変数は
outbuf に残されているバイト数を示します。
説明
iconv関数は,inbuf で示されるバッファ内の文字を別のコードセットの文字に変換します。変換後の文字は
outbuf で示されるバッファに格納されます。変換のタイプは変換記述子 cd によって指定します。
iconv_openの呼び出しが正常終了すると,この記述子が返されます。
入力バッファから不正な文字が検出されると,有効な最後の文字まで変換した後,変換は停止します。 inbytesleft によって示される変数は,変換されなかった入力バッファ内のバイト数を表すように更新されます。 outbytesleft によって示される変数は,出力バッファに残されているバイト数を示すように更新されます。
戻り値
x
|
正常終了を示します。通常は 0 が返されます。変換先のコードセットに対応する文字が存在しない場合,その文字はコード 0x1A に置き換えられ,戻り値としてその文字数が返されます。
|
(
size_t
)-1
|
エラー条件を示します。
errno
は次のいずれかに設定されます。
- EBADF---
cd 引数が有効な変換記述子でありません。
- EILSEQ---不正な文字が検出されたため,変換が停止しました。
- E2BIG---出力バッファの領域が不足しているため,変換が停止しました。
- EINVAL---入力バッファの末尾に不完全な文字があるため,変換が停止しました。
|
|