JSTRING(3J) — NEWS-OS Programmer’s Manual
名称
jstrncat, jstrcmp, jstrncmp, jstrncpy, jstrlen, jindex, jrindex, jstrtok, jstradv, jstrmatch, jstrskip, btom, mtob − 複数バイト文字列操作
形式
#include <jstrings.h>
char ∗jstrncat(s1, s2, n)
char ∗s1, ∗s2;
...
解説
string(3) の関数がバイト単位で処理を行うのに対して、 ここで挙げた関数は、 複数バイト文字列(2バイト文字と1バイト文字が 混在した文字列)を文字単位で処理します。
setlocale(LC_CTYPE, "") の呼出しにより、 シフト JIS、EUC、ISO 8859-1、TCA コードのいずれであっても、 これらの関数は正しく動作します。
char ∗jstradv(s, n)
char ∗s;
jstradv は、文字列 s 内の n 番目の文字を指し示す ポインタを返します。 n < 0 である場合には、 s を返します。 n が文字列より大きな場合には、終了のナル文字を指し示すポインタを返します。
int jstrcmp(s1, s2)
int jstrncmp(s1, s2, n)
char ∗s1,∗s2;
strcmp と strncmp の漢字バージョンです。 これらは、文字の順位 ASCII < 片仮名 < 漢字 に従って、 文字列の比較を行い、結果を負、ゼロ、正の整数で返します。 jstrncmp では、 引数 n は文字数です。
int jstrlen(s)
char ∗s;
strlen の漢字バージョンです。 jstrlen は、文字列 s 内のナル以外の文字数を返します。
char ∗jstrmatch(s, anys)
char ∗string, ∗anys;
char ∗jstrskip(s, notanys)
char ∗s, ∗notanys;
jstrmatch は、 anys で指定された文字のいずれかに一致する、文字列 s 内にある最初の文字を指し示すポインタを返します。 jstrskip は、 notanys で指定された文字のいずれにも一致しない、文字列 s 内にある最初の文字を指し示します。 s を超える場合には、これらの関数はゼロを返します。
char ∗jstrncat(s1, s2, n)
char ∗s1, ∗s2;
strncat の漢字バージョンです。 jstrncat は、 s2 の最初の n 文字を s1 に追加します。
char ∗jstrncpy(s1, s2, n)
char ∗s1, ∗s2;
strncpy の漢字バージョン。 jstrncpy は、 s2 を s1 にコピーします。 jstrncpy は、 s2 の切り捨てまたは s2 へのナルの埋込みを行って、 n 個の文字をコピーします。 s2 の長さが n またはそれ以上である場合には、コピーされた文字列はナルで終了しません。
char ∗jstrtok(string, sepset)
char ∗string, ∗sepset;
sepset によって分離された最初のトークンを指し示すポインタを返します。ナルの string を用いたそれ以降の呼び出しでは、 直前に返されたものの次のトークンのポインタを返します。 string が使い果たされると、最後にナルを返します。 すべてのトークンはナルで終了され、 string は破壊されます。
char ∗jindex(s,c)
char ∗jrindex(s,c)
char ∗s;
unsigned short c;
index と rindex の漢字バージョンです。 jindex は、文字列 s 内にある最初の c を指し示すポインタを返します。 jrindex は、文字列 s 内にある最後の c を指し示すポインタを返します。
int btom(string, nbyte) /∗ バイトから文字 ∗/
char ∗string;
int nbyte;
btom は、 string から string + nbyte まで、または終了のナルまでのどちらか短いほうの文字数を返します。 nbyte は、バイト数を表します。 string + nbyte が2バイトコードの2番目のバイトを指す場合には、 その文字はカウントには含まれません。 nbyte がゼロまたはそれより小さな場合には、ゼロを返します。
int mtob(string, nmoji) /∗ 文字からバイト ∗/
char ∗string;
int nmoji;
mtob は、 string から nmoji 個の文字まで、 または終了のナルまでのどちらか短いほうのバイト数を 返します。
関連ファイル
/usr/include/jstrings.h
/lib/libc.a
関連事項
jctype(3J), string(3), setlocale(3)
NEWS-OSRelease 4.1C