文件 CCSID
打开文件时, CCSID 与其关联。 字符和字符串值的读操作以文件的 CCSID 返回数据。 对文件的写操作期望该文件的 CCSID 中的数据。 打开文件时与该文件相关联的 CCSID 依赖于用于打开文件的函数:
catopen()函数与使用catopen打开的目录文件相关联的 CCSID 取决于 oflag 参数的内容。 可以为 oflag 参数指定的两个标志是 NL_CAT_JOB_MODE 和 NL_CAT_CTYPE_MODE。 这些标志是互斥的。- 如果指定了 NL_CAT_JOB_MODE ,那么作业 CCSID 与文件相关联。
- 如果指定了 NL_CAT_CTYPE_MODE ,那么当前语言环境的 LC_CTYPE 类别的 CCSID 与该文件相关联。
- 如果未指定任何标志,那么不进行转换,并且返回的消息的 CCSID 与消息文件的 CCSID 相同。
fdopen()函数- 如果未指定 LOCALETYPE (*LOCALEUTF) ,那么文件的缺省 CCSID 是作业 CCSID。 可以在文件 open 命令的方式字符串中使用关键字 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。 可以在_Ropen()函数的 mode 参数中使用 ccsid=value 关键字来更改与文件关联的 CCSID。wfopen() function- 如果指定 LOCALETYPE (*LOCALEUCS2) ,那么文件的缺省 CCSID 为 UCS-2。 可以在文件 open 命令的方式字符串中使用关键字 ccsid=value , o_ccsid = value 或 codepage=value 来更改与该文件相关联的 CCSID。 o_ccsid=value 是建议的关键字。
- 如果指定 LOCALETYPE (*LOCALEUTF) ,那么文件的缺省 CCSID 为 UTF-32。 上一段中描述的关键字仍可用于覆盖与文件关联的 CCSID。