名前 | 形式 | MT レベル | 機能説明 | ファイル | 関連項目 | 注意事項
#include <ibmjcode.h>char*cibmjtoeuc(char*s1;, char*s2;);
Unsafe
これらの関数は IBM 漢字コード (Host Code) と 日本語 EUC との間の、日本語文字および文字列の変換を行います。変換の対象となる日本語文字は JIS X0208 に定義されている文字に限られます。文字列の終了は NULL で検知され、受け取り側の文字列のオーバフローは調べられません。変換できない日本語文字には 0xffff が代入されます。これらの関数が正常に動作するためには、setlocale(3C) 関数によりロケールカテゴリ LC_CTYPE を ja または同等の日本語ロケールに設定しておく必要があります。
s2 から IBM 漢字コードの文字 1 文字を読み取り、日本語 EUC に変換し、s1 に格納します。変換に成功した場合には s1、失敗した場合には 0 を返します。このルーチンは、*s1 が 1 バイトの場合、これを EBCDIC コード、 2 バイトの場合、これを日本語コードと見なします。
s2 から 日本語 EUC の文字 1 文字を読み取り、IBM 漢字コードに変換し、s1 に格納します。変換に成功した場合には s1、失敗した場合には 0 を返します。
s2 から IBM 漢字コードの文字列を読み取り、日本語 EUC の文字列に変換し、s1 に格納します。変換に成功した場合には s1、失敗した場合には 0 を返します。
s2 から日本語 EUC の文字列を読み取り、IBM 漢字コードの文字列に変換し、s1 に格納します。変換に成功した場合には s1、失敗した場合には 0 を返します。
これらの関数を使用する場合には、コンパイラオプション -ljapanese によって、オブジェクトモジュールに /usr/lib/libjapanese.a をリンクする必要があります。
ASCII/EBCDIC 変換のテーブルは、CACM Nov, 1968 の 256 文字版に基づいています。ibm 変換は、標準的ではありませんが、ある種の IBM 印字トレーンの規約に適合しています。すべての場合に満足できるような解決方法はありません。
日本語 EUC と IBM 日本語コード間の変換テーブルは、JIS X0201、JIS X0208-1983、および IBM 漢字コード一覧表 (第 4 版、1987 年 9 月) に基づいています。
日本語専用ライブラリ libjapanese.a とそれに関連するヘッダーファイルは、将来のリリースでは提供されません。libjapanese.a を使用しているアプリケーションプログラムは、XPG4.2 などの標準関数を使用して書き換えることをお勧めします。標準関数に関しては、wctype_ja(3C)、wctrans_ja(3C)、および iconv_ja(5) のマニュアルページを参照してください。また、使用例については、「 JFP 開発ガイド 」を参照してください。
libjapanese.a を使用しているアプリケーションプログラムのソース互換性を保つために、代替関数およびマクロをソースファイルで提供しています。これらを使用する場合は、SUNWjlibj パッケージをインストールする必要があります。SUNWjlibj パッケージは、Solaris のインストール時に「全体ディストリビューション」を選択するとインストールされます。代替関数およびマクロの使用方法については、次の README ファイルを参照してください。
/usr/share/src/libjapanese/README
なお、libjapanese.a ライブラリおよび関連するヘッダーファイルも SUNWjlibj パッケージに含まれています。