名前 | 形式 | MT レベル | 機能説明 | 関連項目 | 注意事項
#include <wstring.h>wchar_t*wstrcat(s1,s2, wchar_t *s1, *s2;);
Mt-safe
これらの関数は、ワイド文字 NULL 文字で終わるワイド文字列を操作します。 追加またはコピー中は、受け取る文字列のオーバフロー状態はチェックしません。
引数 s、 s1、 s2 はワイド文字 NULL 文字で終わる文字列を指します。
引数 c は、ワイド文字を指します。
wstrcat() は文字列 s1 の終わりに文字列 s2 のコピーを追加します。wstrncat() は最大 n 文字を追加します (オーバフローするか n が s2 より大きい場合は n 未満)。これらの関数はワイド文字の NULL 文字で終わる s1 を指すポインタを返します。
wstrdup( )は s1 が指している文字列を複製した新しいワイド文字列を指すポインタを返します。 新しい文字列のためのスペースは malloc(3C) を使って得られます。新しい文字列を作成できない場合は、NULL ポインタが返されます。
wstrcmp() はその引数を比較し、s1 が s2 よりもコード順で小さいか、等しいか、大きいかによって 0 よりも小さいか、等しいか、大きい整数を返します。wstrncmp() は wstrcmp と同じ比較を行いますが、最大 n 文字 ( ワイド文字 ) までを調べます。wstrcmp() と wstrncmp() でコードセットの異なる文字 ( 文字列 ) を比較した場合、4 つの日本語 EUC コードセットは、
コードセット 0 < コードセット 2 < コードセット 3 < コードセット 1
wstrcpy() は文字列 s2 を s1 にコピーします。この処理は、NULL 文字をコピーすると終了します。wstrncpy() は n 文字分だけをコピーし、s2 の長さが n よりも短い場合は、NULL 文字を付加して s1 を n 文字にします。この時、 s2 の長さが n 文字以上であれば NULL 文字で終了しません。各関数は s1 を返します。
wstrlen() は s 内のワイド文字数を返します ( 終了の NULL 文字は含まれません ) 。
wstrchr() は文字列 s 内で最初に現れる文字 c を指すポインタを返します。また、 c がその文字列内にない場合は、NULL ポインタを返します。文字列を終了させる NULL 文字は、その文字列の一部と見なされます。
wstrrchr() は文字列 s 内で最後に現れる文字 c を指すポインタを返します。 また、c がその文字列内にない場合は、NULL ポインタを返します。文字列を終了させる NULL 文字は、その文字列の一部と見なされます。
wstrpbrk() は文字列 s2 中の任意の文字が文字列 s1 内に最初に現れたときに、その文字を指すポインタを返します。 s2 中の文字が s1 内にない場合は、NULL ポインタを返します。
wstrspn() は文字列 s1 中の文字列 s2 中の文字だけで構成されている最初の部分の長さを返します。
wstrcspn() は文字列 s1 中の文字列 s2 にない文字だけで構成されている最初の部分の長さを返します。
wstrtok() は文字列 s1 を、分離文字列 s2 内の文字で区切られた一連のゼロ、あるいはそれ以上のテキストトークンで構成されるものと見なします。最初に ( ポインタ s1 を指定して ) 呼び出しがあると、最初のトークンの先頭文字を指すポインタが返されます。さらに、文字列 s1 中には、この返されるトークンの直後に NULL 文字が書き込まれます。wstrtok() 関数は、ここの呼び出し間の文字列内での位置を記録しておき、それ以降の (第 1 引数で NULL ポインタを指定する ) 呼び出しで、 s1 中のそのトークンの直後の文字列を順に処理します。分離文字列 s2 はそれぞれ呼び出しごとに異なっても構いません。s1 にトークンがなくなったときには NULL ポインタが返されます。
これらの関数では、指定した文字列が NULL で終了しない場合にはその結果は不定になり、NULL を見つけるまで処理を続けます。また、日本語 EUC 以外のデータが与えられた場合には、その結果は不定になります。
日本語専用ライブラリ 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 パッケージに含まれています。