ファイル CCSID
ファイルをオープンすると、そのファイルと CCSID が関連付けられます。 文字とストリングの値の読み取り操作を行うと、ファイルの CCSID にデータが戻されます。 ファイルに対する書き込み操作を行うと、ファイルの CCSID でデータが要求されます。 ファイルのオープン時に関連付けられる CCSID は、ファイルのオープンに使用される関数によって異なります。
catopen()関数catopenを使用してオープンされるカタログ・ファイルに関連付けられる CCSID は、oflag パラメーターの内容に依存します。 パラメーターに指定できるフラグは、NL_CAT_JOB_MODE と NL_CAT_CTYPE_MODE の 2 つです。 これらのフラグは、相互に排他的です。- NL_CAT_JOB_MODE を指定すると、ジョブの CCSID がファイルに関連付けられます。
- NL_CAT_CTYPE_MODE を指定すると、現行ロケールの LC_CTYPE カテゴリーの CCSID がファイルに関連付けられます。
- どちらのフラグも指定されない場合、変換は実行されず、返されるメッセージの CCSID はメッセージ・ファイルの CCSID と同じになります。
fdopen()関数- LOCALETYPE(*LOCALEUTF) を指定しない場合、ファイルのデフォルト CCSID はジョブの CCSID になります。 キーワード ccsid=value、o_ccsid=value、または codepage=value を、ファイル・オープン・コマンドのモード・ストリングに使用することで、ファイルに関連付けられている CCSID を変更することができます。 キーワード o_ccsid=value の使用をお勧めします。 標準ファイルは、常にファイルのデフォルト CCSID に関連付けられるため、ジョブの CCSID にも関連付けられます。
- LOCALETYPE(*LOCALEUTF) を指定した場合に
fopen()関数を呼び出すと、ファイルのデフォルト CCSID は、現行ロケールの LC_CTYPE カテゴリーの CCSID になります。 前の段落で説明したキーワードを使用して、ファイルに関連付けられた CCSID を指定変更することも可能です。 標準ファイルは、常にファイルのデフォルト CCSID に関連付けられるため、ファイルのオープン時に現行ロケールの LC_CTYPE カテゴリーの CCSID に関連付けられます。
fopen()関数およびfreopen()関数- LOCALETYPE(*LOCALEUTF) を指定しない場合、ファイルのデフォルト CCSID はジョブの CCSID になります。
- コンパイル・コマンドで SYSIFCOPT(*NOIFSIO) を指定した場合、キーワード ccsid=value をファイル・オープン・コマンドのモード・ストリングに使用することで、ファイルから読み取るデータまたはファイルに書き込むデータの CCSID を変更することができます。
- コンパイル・コマンドで SYSIFCOPT(*NOIFSIO) を指定していない場合、キーワード ccsid=value、o_ccsid=value、または codepage=value をファイル・オープン・コマンドのモード・ストリングに使用することで、ファイルに関連付けられている CCSID を変更することができます。 キーワード o_ccsid=value の使用をお勧めします。
- LOCALETYPE(*LOCALEUTF) を指定した場合に
fopen()関数またはfreopen()関数を呼び出すと、ファイルのデフォルト CCSID は、現行ロケールの LC_CTYPE カテゴリーの CCSID になります。 キーワード ccsid=value、o_ccsid=value、または codepage=value を使用して、ファイルに関連付けられている CCSID を指定変更することも可能です。 標準ファイルは、常にファイルのデフォルト CCSID に関連付けられるため、ファイルのオープン時に現行ロケールの LC_CTYPE カテゴリーの CCSID に関連付けられます。
- LOCALETYPE(*LOCALEUTF) を指定しない場合、ファイルのデフォルト CCSID はジョブの CCSID になります。
_Ropen()関数_Ropen()関数を使用してオープンされたファイルに関連付けられるデフォルト CCSID は、ジョブの CCSID になります。 キーワード ccsid=value を_Ropen()関数のモード・パラメーターに使用することで、ファイルに関連付けられた CCSID を変更することができます。wfopen() function- LOCALETYPE(*LOCALEUCS2) を指定した場合、ファイルのデフォルト CCSID は UCS-2 になります。 キーワード ccsid=value、o_ccsid=value、または codepage=value を、ファイル・オープン・コマンドのモード・ストリングに使用することで、ファイルに関連付けられている CCSID を変更することができます。 キーワード o_ccsid=value の使用をお勧めします。
- LOCALETYPE(*LOCALEUTF) を指定した場合、ファイルのデフォルト CCSID は UTF-32 になります。 前の段落で説明したキーワードを使用して、ファイルに関連付けられた CCSID を指定変更することも可能です。