iconv_open

Autres langues

Langue: ja

Autres versions - même langue

Version: 2007-03-31 (fedora - 25/11/07)

Section: 3 (Bibliothèques de fonctions)

名前

iconv_open - 文字セット変換のためのディスクリプタを割り当てる

書式

 #include <iconv.h>
 
 iconv_t iconv_open(const char *tocode, const char *fromcode);
 

説明

iconv_open() 関数は、文字エンコーディング fromcode から 文字エンコーディング tocode へのバイト文字列変換に適した 変換ディスクリプタを割り当てる。

fromcodetocode に使うことのできる値と、 サポートされる組み合わせは、システムに依存する。 GNU C ライブラリでは、使うことのできる値は iconv --list コマンドでリストされ、 リストされたすべての値の組み合わせがサポートされる。 さらに、 GNU C ライブラリと GNU libiconv ライブラリでは、 以下の接尾辞がサポートされている。

//TRANSLIT
tocode の後ろに文字列 "//TRANSLIT" が付いている場合、 翻訳 (transliteration) が有効になる。この場合、 変換先の文字セットで表現できない文字を、その文字と同じように見える 文字 (複数文字の場合もある) で表現することができる。
//IGNORE
tocode の後ろに文字列 "//IGNORE" が付いている場合、 変換先の文字セットで表現できない文字は黙って無視される。

この関数を読んで得られた変換ディスクリプタは、 iconv(3) で 何度でも使うことができる。 これは iconv_close(3) を使って解放されるまで有効である。

変換ディスクリプタは変換状態を持つ。 iconv_open() を用いて生成された後、変換状態は初期状態である。 iconv(3) を使うことにより、ディスクリプタの変換状態が変更される。 (変換ディスクリプタはマルチスレッドで 同時に使うことができないことを意味している。) 変換状態を初期状態に戻すには、 inbuf 引き数を NULL として iconv(3) を用いること。

返り値

iconv_open() 関数は、新たに割り当てられた変換ディスクリプタを返す。 エラーの場合、この関数は errno を設定し、(iconv_t)(-1) を返す。

エラー

他のいろいろなエラーのうち、以下のエラーが起こりうる。
EINVAL
fromcode から tocode への変換は、この実装ではサポートされていない。

準拠

UNIX98, POSIX.1-2001.

関連項目

iconv(1), iconv(3), iconv_close(3)