Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(3J)

ctype(3)

jctype(3J)

jstring(3J)

chkctype(3J)

isttype(3J)

regex(3)

SET_SYSCODE(3J)  —  UNIX Programmer’s Manual

名称

set_syscode − ライブラリの文字コードをセットする

形式

extern int _sys_code;
k = set_syscode(s);
int k; char ∗s;

解説

ライブラリの文字コードをセットします。 現在サポートされているのは、 シフトJISコード、EUC または ISO 8859-1 です。 デフォルトは、ISO 8859-1。

s == "euc" のとき、EUCになります。 s == "sjis" のとき、シフトJISコードになります。 s == "ascii" のとき、ISO 8859-1 になります。
s == 0 のとき、環境変数 TTYPE の値が ascii ならば、ISO 8859-1 になります。 s == 0 でありかつ、環境変数 TTYPE の値が jis, eucまたは sjis ならば、 環境変数 SYS_CODE の値が euc のとき、EUC になり、それ以外はシフトJISコード となります。
上記以外のときは、ISO 8859-1 になります。
モードがISO 8859-1にセットされると、_sys_code == 2 になります。
モードが EUC にセットされると、_sys_code == 1 になります。
モードがシフトJISコードにセットされると、_sys_code == 0 になります。
k の値は、_sys_code の値となります。

set_syscode() で動作が変わるマクロと関数。
iskana(), iskanji(), iskanji2(), is2byte(), jiszen(), jisl0(), jisl1(), jisl2(), jisalpha(), jisupper(), jislower(), jisdigit(), jiskata(), jishira(), jiskigou(), jisspace(), jtolower(), jtoupper(), jtohira(), jtokata(), zen2han(), han2zen() jstrncat(), jstrrcmp(), jstrncmp(), jstrncpy(), jstrlen(), jindex(), jrindex(), jstrtok(), jstradv(), jstrmatch(), jstrskip(), chkctytpe(), nthctype(), btom(), mtob() re_comp(), re_exec()

set_syscode() の影響を受けないマクロと関数。
iskana2(), iskpun(), iskmoji(), issjis1(), issjis2(), isjis(), iseuc(), iseuckana() euc2sjis(), euc2jis(), euc2kuten(), sjis2euc(), sjis2jis(), sjis2kuten(), jis2euc(), jis2sjis(), jis2kuten(), kuten2euc(), kuten2sjis(), kuten2jis(), isttype()

注意

NEWS-OS 3.2 以前との互換性のために、 set_syskanji()、_sys_kanji が残されています。 それぞれ set_syscode()、_sys_code と同じ意味です。
環境変数 SYS_CODE が存在しない場合は、SYS_KANJI を参照します。

関連事項

intro(3J), ctype(3), jctype(3J), jstring(3J), chkctype(3J), isttype(3J), regex(3)

関連ファイル

/usr/include/ctype.h
/usr/include/jctype.h
/usr/include/jstrings.h
/usr/include/ttype.h

NEWS-OSRelease 3.3

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026