GB T 16681-1996 信息技术 开放系统中文界面规范.pdf

上传人:hopesteam270 文档编号:197093 上传时间:2019-07-14 格式:PDF 页数:102 大小:6.05MB
下载 相关 举报
GB T 16681-1996 信息技术 开放系统中文界面规范.pdf_第1页
第1页 / 共102页
GB T 16681-1996 信息技术 开放系统中文界面规范.pdf_第2页
第2页 / 共102页
GB T 16681-1996 信息技术 开放系统中文界面规范.pdf_第3页
第3页 / 共102页
GB T 16681-1996 信息技术 开放系统中文界面规范.pdf_第4页
第4页 / 共102页
GB T 16681-1996 信息技术 开放系统中文界面规范.pdf_第5页
第5页 / 共102页
亲,该文档总共102页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、中华人民共和国国家标准信息技术开放系统中文界面规范发布实施国家技术监督局发布前言本标准的附录是标准的附录附录和附录是提示的附录本标准由中华人民共和国电子工业部提出本标准由电子工业部标准化研究所归口本标准起草单位中国计算机软件与技术服务总公司中国科学院软件研究所联想集团公司信息高技术联合研究所本标准主要起草人孟庆余孙龙驹姚吉松吴健姚建枫慈林林赵国宏戴世宗冯惠引言本标准是为基于或见附录的中文处理系统规定的基本界面规范本标准的制定将对系统中文平台的开发应用移植互换起重要指导作用本标准的主要内容包括国际化要求本地化要求服务功能界面实用程序要求图形界面要求等中华人民共和国国家标准信息技术开放系统中文界面

2、规范国家技术监督局批准实施范围主题内容本标准定义开放系统中文平台应用程序编程界面服务功能界面以及图形界面适用范围本标准适用于开放系统中文平台的开发应用和基于该环境的中文处理软件的集成引用标准下列标准包含的条文通过在本标准中引用而构成为本标准的条文本标准出版时所示版本均为有效所有标准都会被修订使用本标准的各方应探讨使用下列标准最新版本的可能性信息处理信息交换用七位编码字符集信息交换用汉字编码字符集基本集信息处理七位和八位编码字符集用的控制功能数据元和交换格式信息交换日期和时间表示法信息技术通用多八位编码字符集第一部分体系结构与基本多文种平面图形信息交换用矢量汉字仿宋体字模集及数据集图形信息交换用

3、矢量汉字楷体字模集及数据集图形信息交换用矢量汉字黑体字模集及数据集信息技术可移植操作系统界面第一部分系统应用程序界面程序设计语言信息技术可移植操作系统界面第二部分命令和实用程序定义本标准采用下列定义多字节字符用若干个字节表示的字符单字节字符用一个字节表示的字符宽字符为了统一地处理单字节字符与多字节字符而采用的具有统一编码宽度的字符的内部表示字符宽度字符所占用的存储单位数或显示列位置数字符宽度有显示宽度与存储宽度之分而且字符的显示宽度与存储宽度不总是一致的输入法为输入特定字符集中字符而定义的方法输入提示屏计算机屏幕上输入法要求的显示区热键计算机键盘上输入法要求的方式切换键点阵汉字用位映象图描述的

4、汉字字符矢量轮廓汉字用有向线段描述汉字轮廓的汉字字符曲线轮廓汉字用特定曲线描述汉字轮廓的汉字字符要求总体要求标准的符合性具体实现应遵循本标准此外还应符合操作系统的其他标准凡本标准中未明确定义的符号请参阅相应的标准语言约束本标准使用按描述编程界面并不限定在具体实现时所使用的编程语言国际化本地化模式具体实现应采用标准的国际化本地化模式字处理原则在系统字处理中必须以字符为单位而不能以字节为单位若无特殊说明本标准中所用的字符既可以是单字节字符也可以是多字节字符前导文件若无特殊说明本标准所引用的前导文件与见附录一致国际化国际化是规定在一个计算机程序内部的能力使它适应于不同的本地语言本地风俗和编码字符集本

5、标准定义一组国际化的应用程序编程界面由于多字节字符事实上的存在并表现为不等长为了处理上的一致性规范性字符处理时应以等长的宽字符表示多字节字符标准多字节功能名称把一个字符转换成宽字符格式说明如果不是空指针那么先确定由指向的字符的字节数然后确定与该字符相对应的型的宽字符代码值与空字符等价的宽字符代码值是零如果该字符是有效的并且不是空指针把宽字符代码值存放在指向的目标中本函数受当前本地环境影响对于依赖于状态的编码通过将参数置为空来调用本函数使函数设置为初始状态后续的调用如果参数非空则使函数的初始状态根据需要改变如果编码依赖于状态那么参数为空指针的调用使本函数返回一个非零值否则返回零如果在实现中使用一

6、些特殊字节来改变切换状态那么这些字节不生成独立的宽字符代码而是与一个相邻的字符组合在一起改变当前的使本函数的初始状态不确定指向的数组中至多个字节被检查返回当是空指针时如果字符编码依赖于状态那么函数返回一个非零值如果编码不依赖于状态则函数返回零值当是非空指针时如果指向空字节那么返回零或者如果个或少于个字节组成了合法的多字节字符则返回多字节字符的字节数或者如果是无效字符则函数返回并置以示出错不可能返回大于或者宏的值名称获取一字符的字节数格式说明如果不是空指针确定由指向的字符的字节数除了的切换状态不受影响之外它等价于本函数受当前本地环境影响对于依赖于状态的编码通过将参数置为空来调用本函数使函数设置为

7、初始状态后续的调用如果参数非空则使函数的初始状态根据需要改变如果编码依赖于状态那么参数为空指针的调用使本函数返回一个非零值否则返回零如果在实现中使用一些特殊字节来改变切换状态那么这些字节不生成独立的宽字符代码而是与一个相邻的字符组合在一起改变当前的使本函数的初始状态不确定返回当是空指针时如果字符编码依赖于状态那么函数返回一个非零值如果编码不依赖于状态则函数返回零值当是非空指针时如果指向空字节那么返回零或者如果个或少于个字节组成了合法的多字节字符则返回多字节字符的字节数或者如果是无效字符则函数返回并置以示出错不可能返回大于或者宏的值名称把宽字符转换成一个字符格式说明确定表示的宽字符包括切换状态的

8、变化所对应的字符的字节数并把对应的字符可能是多字节和改变切换状态的特殊字节存放在如果不是空指针指向的目标数组中最多存放个字节如果的值为零被置为初始切换状态本函数受当前本地环境影响对于依赖于状态的编码通过将参数置为空来调用本函数使函数设置为初始状态后续的调用如果参数非空则使函数的初始状态根据需要改变如果编码依赖于状态那么参数为空指针的调用使本函数返回一个非零值否则返回零如果在实现中使用一些特殊字节来改变切换状态那么这些字节不生成独立的宽字符代码而是与一个相邻的字符组合在一起改变当前的使本函数的初始状态不确定返回当是空指针时如果字符编码依赖于状态那么函数返回一个非零值如果编码不依赖于状态则函数返回

9、零值当是非空指针时如果不对应合法的字符那么函数返回否则返回对应的字节数不可能返回大于宏的值名称把一个字符串转换成一宽字符串格式说明以初始切换状态开始把指向的字符序列转换成对应的宽字符代码序列并把不多于个的宽字符代码存放在指向的数组中空符空符将被转换成一个值为零的宽字符代码后续的字符不会被检查和转换除了的切换状态不受影响外每个字符的转换就象调用一样指向的数组中最多存储个元素如果拷贝目标重叠其行为没被定义本函数受当前本地环境的影响如果是一空指针返回宽字符数组所需的元素数返回如果遇到一无效字符返回并且置以示出错否则返回被转换的数组元素的个数或者如果是空指针则是所需的个数不包括作为终止符的零代码如果返

10、回值是数组不以零代码终止名称把一宽字符串转换成一字符串格式说明以初始切换状态开始把指向的数组中的宽字符代码序列转换成字符序列并把这些字符存放在指向的数组中当超过总共个字节的限制或者存放了一个空字节时转换结束除了的切换状态不受影响外每个宽字符的转换就象调用一样本函数受当前本地环境的影响指向的数组中最多存储个字节如果拷贝目标重叠其行为没被定义如果是一个空指针返回字符数组所需的字节数返回如果遇到一宽字符代码它不对应有效字符单字节或多字节返回否则返回字符数组中的字节数不包括作为终止符的空字节如果返回值是数组不以空终止功能名称从一个流中获取宽字符代码格式说明从指向的输入流中获取下一个字符如果存在再将该字

11、符转换成对应的宽字符代码并且下移流的文件位置指示器如果已定义如果出现错误流的文件位置指示器的值不确定可以因为更新而标记所指文件的域如果或第一次成功地从中获取的数据不是前面或者的调用提供的则因为更新而标记域返回的成功调用将从指向的输入流中读取字符并返回对应的型的宽字符代码如果流遇到了文件尾流的文件结束指示器将被设置并且返回如果发生读错误流的出错信息指示器将被设置返回并且置以示出错名称从一个流中获取宽字符格式说明等价于但它作为宏实现时略有不同返回见名称从标准输入中获取宽字符格式说明的功能等价于返回见名称从一个流中获取一宽字符串格式说明从中不断读取字符并转换成对应的宽字符代码把结果存放在指向的型数组

12、中直到读取了个字符或者是遇到换行符换行符被转换并存放到或者文件尾为止这样以宽字符的空符结束如果出现错误流的文件位置指示器的值将不确定可以因为更新而标记所指文件的域如果或第一次成功地从中获取的数据不是前面或者的调用提供的则因为更新而标记域返回的成功调用返回如果遇到文件尾流的文件结束指示器将被设置并且返回空指针如果发生读错误流的出错信息指示器被设置返回空指针并且置以示出错名称在一个流上输出宽字符代码格式说明把与宽字符代码对应的字符写到指向的输出流中并且下移流的文件位置指示器如果已定义如果文件不能支持定位请求或者流是以附加方式打开的字符将附加到输出流后当写字符出现错误时输出文件的转换状态将是无定义状

13、态在对同一流的与下次或的成功调用之间或者直到调用或为止将因为更新而标记文件的和域返回如果成功返回否则返回流的出错信息指示器被设置并且置以示出错名称把一宽字符输出到一个流上格式说明等价于但它作为宏实现略有不同返回见名称把宽字符写到标准输出格式说明等价于返回见名称在一个流上输出宽字符串格式说明把与指向的以空结束的宽字符串对应的字符串写入指向的流中与空宽字符代码相对应的字符不被写入在对同一流的与下次或的成功调用之间或者直到调用或为止将因为更新而标记文件的和域返回如果成功返回一非负整数否则返回置流的出错信息指示器并且置以示出错名称把一宽字符代码放回输入流格式说明把与宽字符代码相对应的字符放回指向的输入

14、流被放回的字符将在下次从流中读时返回一个文件定位函数或的成功调用会清除放回流所指向的流中的字符与流对应的外部存储将不做改变的一次调用可保证字符的放回如果在同一个流中太多次调用而没有读文件或者文件定位操作来间隔操作可能失败如果的值等于宏的值操作失败并且输入流不做改变的成功调用将清除流的文件结束指示器在读操作或者清除所有放回字符之后的文件位置指示器的值与放回字符前是一样的每一次的成功调用将使文件位置指示器减小减小或更多如果在调用之前它的值是零在调用之后它的值将不确定返回如果成功返回与放回字符相对应的宽字符代码值否则它返回串操作功能名称连接两个宽字符串格式说明把指向的宽字符串的副本包括宽字符代码结束

15、符附加到所指的宽字符串的末尾的起始宽字符盖写了末尾的宽字符空符如果拷贝目标重叠该行为未定义返回返回串不规定发生错误的返回值名称部分连接两个宽字符串格式说明把指向的数组中的最多个宽字符代码附加空宽字符及其后面的宽字符代码不被附加到所指的宽字符串的末尾的起始宽字符盖写了末尾的宽字符空符通常一个宽字符结束符要附加到结果中如果拷贝目标重叠该行为未定义返回返回串不规定发生错误的返回值名称比较两个宽字符串格式说明比较指向的宽字符串和指向的宽字符串返回的非零值由被比较的目标中的第一处不同值决定返回比较完成后根据指向的字符大于等于或小于指向的字符返回一大于等于或小于零的整数名称部分比较两个宽字符串格式说明比较

16、指向的宽字符串和指向的宽字符串中最多个宽字符代码空宽字符及其后面的宽字符代码不被比较返回的非零值由被比较的目标中的第一处不同值决定返回比较完成后根据指向的字符大于等于或小于指向的字符返回一大于等于或小于零的整数名称复制一宽字符串格式说明把指向的宽字符串包括宽字符代码的结束符复制到所指的数组中如果拷贝目标重叠该行为未定义返回返回串不规定发生错误的返回值名称部分复制一宽字符串格式说明把指向的宽字符串中最多个字符复制到所指的数组中空宽字符及其后面的宽字符代码不被复制如果拷贝目标重叠该行为未定义返回返回串不规定发生错误的返回值名称得到宽字符串的长度格式说明计算指向的宽字符串中宽字符代码个数不包括宽字符

17、结束符在内返回返回中的宽字符数不规定发生错误的返回值名称宽字符串扫描操作格式说明确定所指向的宽字符串中第一次出现的位置必须是可说明为型的字符并且是在当前本地环境中与一有效字符相对应的宽字符宽字符结束符被认为是宽字符串的一部分返回如果成功返回一指向宽字符代码的指针否则如果没有在该宽字符串中出现返回一空指针名称宽字符串扫描操作格式说明确定所指向的宽字符串中最后一次出现的位置必须是可说明为型的字符并且是在当前本地环境中与一有效字符相对应的宽字符宽字符结束符被认为是宽字符串的一部分返回如果成功返回一指向宽字符代码的指针否则如果没有在宽字符串中出现返回一空指针名称在宽字符串中扫描宽字符代码格式说明确定所

18、指的宽字符串中任一宽字符代码在所指的宽字符串中第一次出现的位置返回如果成功返回一指向宽字符代码的指针否则如果中的宽字符没有在出现返回一空指针名称获取宽字符子串的长度格式说明计算指向的宽字符串的初始段最大长度该段完全由所指宽字符串中的代码组成返回返回串中初始段的长度不规定发生错误的返回值名称获取宽字符子串的长度格式说明计算指向的宽字符串的初始段最大长度该段完全由不是所指宽字符串中的代码组成返回返回串中初始段的长度不规定发生错误的返回值名称把宽字符串分裂成记号格式说明的连续调用将把所指向的宽字符串分隔成一记号序列每一个被中的宽字符分隔在连续调用中第一次调用把作为函数的第一个参数随后的调用用空指针作

19、为它的第一个参数每次调用所指向的分隔符串可以不同在连续调用中第一次调用在所指的宽字符串中搜索第一个不包括在当前所指的分隔符串中的宽字符代码如果没找到这样的宽字符代码即所指的宽字符串中没有记号则返回一空指针如果找到了它便是第一个记号的开始从记号的开始处起搜寻当前分隔符串中包含的宽字符代码如果没有找到这样的宽字符代码则当前记号延伸至所指的宽字符串的结尾并且随后的搜寻将返回空指针如果找到了这样的宽字符它将被一个空宽字符盖写该空宽字符结束当前记号保存指向后续宽字符代码的指针以便下次搜寻从这里开始随后的每一次调用用空指针作为第一个参数从保存的指针开始并且按照上述过程继续搜寻返回如果成功返回指向一个记号的

20、第一个宽字符代码的指针否则如果没有记号返回一空指针名称寻找宽字符子串格式说明确定所指的宽字符串中的宽字符序列不包括结尾的空宽字符在所指的宽字符串中第一次出现的位置返回如果成功返回确定的宽字符串指针否则如果宽字符串没被找到返回一空指针如果指向一零宽的宽字符串函数返回打印功能名称打印格式输出格式说明注此处只说明有关中文处理的部分输出到命名的输出流中输出到标准输出中输出到中每个函数按照转换格式化打印是一个以初始转换状态开始和结束的字符串由零或多个指令组成普通字符它将被拷贝到输出流转换说明符每个都将匹配零或多个参数如果没有足够的参数与匹配结果未定义如果参数超过格式转换所需要的数目多余的参数被求值或被忽

21、略将代替转换说明符是中的一个十进制整数它给出参数序列中参数的位置转换说明符适用于后面的参数序列中的个参数而不适用更后面的没有用到的参数这种特点为特定语言按次序选择参数提供了格式定义格式串中包含形式的转换说明符参数序列中编号的参数可以根据需要重复使用在一个包含转换说明符的格式串中一个域的宽度和精确度由指定是中的一个十进制整数它给出参数在参数序列中的位置该参数表示一整参数的域宽或精确度例如中可以含有编号参数说明符即和或者无编号参数说明符即和但通常不同时含有二者只有一个例外可以与形式混用编号参数说明符与无编号参数说明符在一中混用没被定义当用编号参数说明时如果说明第个参数则需要从第到第个前导参数都已在

22、格式串中被说明标志符及其意义十进制转换或的整数部分用千分号格式化其他转换没被定义使用了非货币分组符号转换符及其意义型的参数被转换成表示一个字符的字节序列并且写出结果字符如果指定了精确度则结果没有定义转换类似于在一个本地环境如果编码依赖于状态则与流的切换状态有关的行为依赖于具体的实现参数必须是型的数组指针数组中以空宽字符结束但不包括结束空宽字符的宽字符代码序列被转换成一字节序列并且写出结果字节如果指明了精确度则不超出限制数的字节和完整的字符被写出如果没有指明精确度或者精确度大于转换的字节数组的大小那么宽字符数组必须用一空宽字符结束转换类似于在一个本地环境如果编码依赖于状态则与流的切换状态有关的行

23、为依赖于具体的实现返回如果成功返回被传送的字节数的返回值不包括结束空符如果输出发生错误则返回一负值查询区域环境信息名称确定程序本地环境格式说明根据当前本地环境的规则用适合于格式化的数字量货币和其他来设置结构中的成员结构中型的成员是指向串的指针其中任何一个除外都可以指向以示该值在当前本地环境不可用或者是长度为零型的成员是非负的数值其中任何一个可以是以示该值在当前本地环境不可用包括的成员如下注此处只说明中文处理需要增加的部分如果或在非负的格式化过的货币数值前面则置为如果在其后面则置为如果没有空格把符号或与一非负的格式化的货币数值分隔开则置为如果一个空格把符号与数值分隔开了则置为如果一个空格分隔了符

24、号和邻近的符号串则置为如果或在负的格式化过的货币数值前面则置为如果在其后面则置为如果没有空格把符号或与一负的格式化的货币数值分隔开则置为如果一个空格把符号与数值分隔开了则置为如果一个空格分隔了符号和邻近的符号串则置为和的值说明如下圆括号括起数量值和或者符号串在数量值和或者的前面符号串在数量值和或者的后面符号串直接在或者的前面符号串直接在或者的后面返回返回一指向被填充的目标的指针返回值指向的结构不可以被程序修改但可以被的后续调用盖写另外如果用或者来调用可以盖写结构中的内容名称语言信息格式说明返回一字符串指针该串中包含与程序的本地环境中定义的特殊语言或文化区域有关的信息说明的常量名和的值在中定义例

25、如如果标识的语言是葡萄牙语它将返回一个指向的串指针而如果标识的语言是英语则返回返回如果在一个本地环境中没有定义数据则返回本地环境中相应的指针在所有本地环境中如果包括一无效设置则返回指向一空串的指针名称把货币值转换成串格式说明把由指向的串所控制的字符放入指向的数组中多于的字节不放入数组中格式是一个字符串它包含两种类型的目标简单拷贝到输出流的普通字符和转换说明每一个转换说明都使零个或多个参数被转换和格式化如果没有足够的参数用于格式化结果没被定义如果格式化结束而参数多余则多余的参数被忽略返回如果结果的字节总数包括结尾的空字节不超过则返回指向的数组中放入的字节数不包括结尾的空字节否则返回数组的内容不确

26、定并且置以示出错日期和时间名称把日期和时间转换成串格式说明把由指向的串所控制的字符放入指向的数组中串包含零个或多个转换说明和普通字符一个转换说明包括一个字符和一个确定转换说明动作的转换字符所有普通字符包括结尾空字节不被改变地拷贝到数组中如果拷贝目标重叠结果没被定义多于的字节将不放入数组中如下所示每个转换说明被恰当的字符序列替换恰当的字符序列由程序的本地环境和所指向的结构中的值确定注此处只说明中文处理需要增加的部分被十进制的世纪号年号除以并且取整替换与一样被十进制的月中日期替换一个单一数字前加一个空格与一样被一个换行符替换被上午下午的标记替换在本地环境中等价于被小时的标记替换被一个制表符替换被时

27、间替换可变的转换说明符一些转换说明符可以被修改字符或改变用以说明一个替换格式或说明而不是用常规的不变的转换说明符描述如果本地环境的替换格式或说明不存在那么就象是使用不变的转换说明被本地环境恰当的日期和时间描述替换被本地环境描述中的基本年的名字替换被本地环境日期描述替换被本地环境时间描述替换被相对本地环境描述的只是年的偏移量替换被完整年号的描述替换使用本地环境的替换数字符号替换月内日期如果有零的替换符号按需要填入前导零否则填入前导空格使用本地环境的替换数字符号替换月内日期按需要填入前导空格使用本地环境的替换数字符号替换小时小时使用本地环境的替换数字符号替换小时小时使用本地环境的替换数字符号替换月

28、使用本地环境的替换数字符号替换分钟使用本地环境的替换数字符号替换秒钟被本地环境描述的表示星期几的数字星期一替换使用本地环境的替换数字符号替换一年中的星期数星期天作为一周的第一天规则与一致使用本地环境的替换数字符号替换一年中的星期数星期一作为一周的第一天规则与一致使用本地环境的替换数字符号替换星期的编号星期天使用本地环境的替换数字符号替换年的星期数星期一是一周第一天使用本地环境的替换数字符号替换本地环境描述的年相对的偏移值返回如果结果的字节总数包括结尾的空字节不超过返回指向的数组中放入的字节数不包括结尾的空字节否则返回零数组的内容不确定名称日期和时间转换格式说明利用指定的格式把所指的字符串转换成

29、存储于所指的结构中的值由零或多个指令组成每个指令由下列之一组成一个或多个空白字符由确定一个普通字符不是也不是空白字符或者一个转换说明每个转换说明由一个字符后跟指定替换的转换字符组成两个转换说明之间必须有空白字符或其他非字母数字字符返回如果成功返回一指针该指针指向未经语法分析的第一个字符否则返回空指针名称把日期和时间转换成宽字符串格式说明在所指定的串控制下把宽字符代码存入所指的数组中该函数看上去象先由产生的字符串作为的参数然后把结果写入的宽字符串参数中最多允许个宽字符代码返回如果结果的宽字符代码数包括结尾的空宽字符不大于返回写入数组的宽字符代码数不包括结尾的空宽字符否则返回并且数组的内容不确定如

30、果不成功置以示出错代码转换名称代码转换函数格式说明把中一个代码集的一系列字符转换成另一代码集中的一系列对应字符并写入指向的数组代码集是由调用返回的转换说明符指定的参数指向一个变量该变量指向输入缓冲区中的第一个字符描述到缓冲区末尾要转换的字节数参数指向一变量该变量指向输出缓冲区中的第一个字节描述到缓冲区末尾的有效字节数返回修改参数所指的变量以反映转换范围并且返回执行不一致的转换数量如果输入缓冲区的串完全被转换了所指向的值将是零如果由于输入转换停止了将是非零并且置以说明情况如果发生错误返回并置以示出错名称代码转换释放函数格式说明释放转换描述符和其他所有由分配的相关资源如果一个文件描述符被用来实现类

31、型该文件描述符将被关闭返回如果成功返回零值否则返回并置以示出错名称代码转换分配函数格式说明返回一个转换描述符它描述从参数指定的代码集到参数所指定的代码集的转换在一个进程中一个转换描述符一直保持有效直到关闭它为止如果一个文件描述符被用作转换描述符标志被设置见返回如果成功返回一个转换描述符以便后续的使用否则返回并且置以示出错文字对比名称用理序信息进行串比较格式说明将指向的串与指向的串进行比较这种比较基于当前本地环境的返回按当前本地环境的描述解释和如果成功根据所指的串大于等于或小于所指的串返回一个大于等于或小于零的值如果发生错误置无返回值名称串转换格式说明转换串并把结果放入指向的数组转换后使得如果有

32、两个原始串和两个用转换后的串用比较两个转换后的串它返回的结果与用于同样的两个原始串的结果相同包括结尾的空符不多于个的字节放入指向的数组如果是零被允许是空指针如果转换目标重叠结果没定义返回如果成功返回已转换的串的长度不包括结尾的空符如果其值是或更大指向的数组的内容不确定如果出现错误将置并且无返回值名称利用理序信息进行宽字符串比较格式说明将指向的宽字符串与指向的宽字符串进行比较这种比较基于当前本地环境的返回按当前本地环境的描述解释和如果成功根据所指的宽字符串大于等于或小于所指的宽字符串返回一个大于等于或小于零的值如果发生错误置无返回值名称宽字符串转换格式说明转换宽字符串并把结果放入指向的数组转换后

33、使得如果有两个原始串和两个用转换后的串用于两个转换后的宽字符串它返回的结果与用于同样的两个原始宽字符串的结果相同包括结尾的空宽字符不多于个的宽字符放入指向的数组如果是零被允许是空指针如果转换目标重叠结果没定义返回如果成功返回已转换的宽字符串的长度不包括结尾的空宽字符如果其值是或更大指向的数组的内容不确定如果出现错误将置并且无返回值数字转换名称把字符串转换成双精度数格式说明将所指向的串转换成双精度型值首先它把输入串分成三部分起始部分空白字符序列可以是空可被解释成浮点常数的主体序列最后是一个或多个不可识别字符组成的序列包括输入串结尾的空字节然后它试图把主体序列转换成浮点数并返回结果主体序列的期望格

34、式是一个可选的或符号然后是一个可包括基数字符的非空数字序列最后是一个可选的指数部分指数部分由或者后随一个可选符号组成再后是一个或多个十进制数字主体序列被定义为输入串中最长的起始子序列从第一个非空白符开始如果输入串是空或者完全由空白符组成或者第一个非空白符不是符号数字或基数那么主体序列是空如果主体序列有期望格式以第一个数字或基数字符开始的序列被解释为浮点常数象语言中定义的那样除非用基数字符代替一个小数点或者既没有指数部分也没有出现基数字符那么基数字符假定跟在串中的最后一个数字后如果主体序列以一个减号开始转换结果是负值只要不是空指针指向最后的串的指针存储在指向的目标中基数字符在程序本地环境中定义在

35、本地环境或者在一个没有定义基数的本地环境中基数默认为一个小数点在不是本地环境中其他依赖实现的主体序列格式可被接受如果主体序列是空或者没有期望格式不发生转换只要不是空指针的值存储在指向的目标中返回如果成功返回转换后的值如果不发生转换返回零并且被置入如果正确的值超出可表示的范围返回根据值的符号置入如果正确的值引起下溢返回零并将置入名称把字符串转换成长整数格式说明将所指向的串转换成长整型的值首先它把输入串分成三部分起始部分空白字符序列可以是空主体序列被解释为以值为基数的整数最后是一个或多个不可认字符组成的序列包括输入串结尾的空字节然后它试图把主体序列转换成长整数并返回结果如果的值是零主体序列的期望格

36、式是一个十进制常数八进制常数或者是十六进制常数常数前面可带或符号一个十进制常数以非零数字开始并包含十进制的数字序列一个八进制常数包含一个前置和随后的到的数字序列一个十六进制常数包含前置的或和随后的十进制数字和代表到的字母到的序列如果的值在到之间主体序列的期望格式是一字母和数字序列该序列描述一以值为基数的整数前面可有或符号字母到代表值到只有代表的值小于的字母是允许使用的如果的值是字母和数字的前面可出现或如果有正负号则在最前面主体序列被定义为输入串中最长的起始子序列从第一个非空白符开始如果输入字符串是空或者完全由空白符组成或者第一个非空白符不是符号也不是允许的字母或数字那么主体序列是空如果主体序列

37、具有期望格式而且的值是零以第一个数字开始的序列被说明为整型常数如果主体序列具有期望格式而且的值在与之间则按照的值转换主体序列每个字母的值如上面给出如果主体序列以一个减号开始转换结果是负的只要不是空指针指向最后的串的指针存储在指向的目标中在非本地环境中其他依赖实现的主体序列格式可被接受如果主体序列是空或者没有期望格式不发生转换只要不是空指针的值存储在指向的目标中返回如果成功返回转换后的值如果没有转换执行返回零并且被置入如果正确的值溢出返回或根据值的符号置入名称把字符串转换成无符号长整数格式说明将所指向的串转换成无符号长整型的值首先它把输入串分成三部分起始部分空白字符序列可以是空主体序列被解释为以

38、值为基数的整数最后是一个或多个不可认字符组成的序列包括输入串结尾的空字节然后它试图把主体序列转换成无符号长整数并返回结果如果的值是零主体序列的期望格式是一个十进制常数八进制常数或者是十六进制常数常数前面可带或符号一个十进制常数以非零数字开始并包含十进制的数字序列一个八进制常数包含一个前置和随后的到的数字序列一个十六进制常数包含前置的或和随后的十进制数字和代表到的字母到的序列如果的值在到之间主体序列的期望格式是一字母和数字序列该序列描述一以值为基数的整数前面可有或符号字母到代表值到只有代表的值小于的字母是允许使用的如果的值是字母和数字的前面可出现或如果有正负号则在最前面主体序列被定义为输入串中最

39、长的起始子序列从第一个非空白符开始如果输入字符串是空或者完全由空白符组成或者第一个非空白符不是符号也不是允许的字母或数字那么主体序列是空如果主体序列具有期望格式而且的值是零以第一个数字开始的序列被说明为整型常数如果主体序列具有期望格式而且的值在与之间则按照的值转换主体序列每个字母的值如上面给出如果主体序列以一个减号开始转换结果是负的只要不是空指针指向最后的串的指针存储在指向的目标中在不是本地环境中其他依赖实现的主体序列格式可被接受如果主体序列是空或者没有期望格式不发生转换只要不是空指针的值存储在指向的目标中返回如果成功返回转换后的值如果没有转换执行返回零并且被置入如果正确的值溢出返回或根据值的

40、符号置入名称把宽字符串转换成双精度数格式说明将所指向的宽字符串转换成双精度型的值首先它把输入宽字符串分成三部分起始部分空白宽字符序列可以是空可被解释成浮点常数的主体序列最后是一个或多个不可认宽字符组成的序列包括输入串结尾的空宽字符然后它试图把主体序列转换成浮点数并返回结果主体序列的期望格式是一个可选的或符号然后是一个可包括基数字符的非空数字序列最后是一个可选的指数部分指数部分包括或者后随一个可选符号再后是一个或多个十进制数字主体序列被定义为输入的宽字符串中最长的起始子序列从第一个非空白宽字符开始如果输入的宽字符串是空或者完全由空白宽字符组成或者第一个非空白符的宽字符不是符号数字或基数那么主体序

41、列是空如果主体序列有期望格式以第一个数字或基数字符开始的宽字符序列被解释为浮点常数象语言中定义的那样除非用基数字符代替一个小数点或者既没有指数部分也没有出现基数字符那么基数字符假定跟在宽字符串中的最后一个数字后如果主体序列以一个减号开始转换结果是负值只要不是空指针指向最后的宽字符串的指针存储在指向的目标中基数字符在程序本地环境中定义在本地环境或者在一个没有定义基数的本地环境中基数默认为一个小数点在不是本地环境中其他依赖实现的主体序列格式可被接受如果主体序列是空或者没有期望格式不发生转换只要不是空指针的值存储在指向的目标中返回返回转换后的值如果不发生转换返回零并且被置入如果正确的值超出可表示的范

42、围返回根据值的符号置入如果正确的值引起下溢返回零并将置入名称把宽字符串转换成长整数格式说明将所指向的宽字符串转换成长整型的值首先它把输入的宽字符串分成三部分起始部分空白字符序列可以是空主体序列被解释为以值为基数的整数最后是一个或多个不可认字符组成的序列包括输入宽字符串结尾的空宽字符然后它试图把主体序列转换成长整数并返回结果如果的值是零主体序列的期望格式是一个十进制常数八进制常数或者是十六进制常数常数前面可带或符号一个十进制常数以非零数字开始并包含十进制的数字序列一个八进制常数包含一个前置和随后的到的数字序列一个十六进制常数包含前置的或和随后的十进制数字和代表到的字母到的序列如果的值在到之间主体

43、序列的期望格式是一字母和数字序列该序列描述一以值为基数的整数前面可有或符号字母到代表值到只有代表的值小于的字母是允许使用的如果的值是字母和数字的前面可出现或如果有正负号则在最前面主体序列被定义为输入宽字符串中最长的起始子序列从第一个非空白宽字符开始如果输入宽字符串是空或者完全由空白宽字符组成或者第一个非空白宽字符不是符号也不是允许的字母或数字那么主体序列是空如果主体序列具有期望格式而且的值是零以第一个数字开始的宽字符序列被说明为整型常数如果主体序列具有期望格式而且的值在与之间则按照的值转换主体序列每个字母的值如上面给出如果主体序列以一个减号开始转换结果是负的只要不是空指针指向最后的宽字符串的指

44、针存储在指向的目标中在不是本地环境中其他依赖实现的主体序列格式可被接受如果主体序列是空或者没有期望格式不发生转换只要不是空指针的值存储在指向的目标中返回如果成功返回转换后的值如果没有转换执行返回零并且被置入如果正确的值溢出返回或根据值的符号置入名称把宽字符串转换成无符号长整数格式说明将所指向的宽字符串转换成无符号长整型的值首先它把输入宽字符串分成三部分起始部分空白字符序列可以是空主体序列被解释为以值为基数的整数最后是一个或多个不可认字符组成的序列包括输入宽字符串结尾的空宽字符然后它试图把主体序列转换成无符号长整数并返回结果如果的值是零主体序列的期望格式是一个十进制常数八进制常数或者是十六进制常

45、数常数前面可带或符号一个十进制常数以非零数字开始并包含十进制的数字序列一个八进制常数包含一个前置和随后的到的数字序列一个十六进制常数包含前置的或和随后的十进制数字和代表到的字母到的序列如果的值在到之间主体序列的期望格式是一字母和数字序列该序列描述一以值为基数的整数前面可有或符号字母到代表值到只有代表的值小于的字母是允许使用的如果的值是字母和数字的前面可出现或如果有正负号则在最前面主体序列被定义为输入宽字符串中最长的起始子序列从第一个非空白宽字符开始如果输入的宽字符串是空或者完全由空白宽字符组成或者第一个非空白宽字符不是符号也不是允许的字母或数字那么主体序列是空如果主体序列具有期望格式而且的值是

46、零以第一个数字开始的序列被说明为整型常数如果主体序列具有期望格式而且的值在与之间则按照的值转换主体序列每个字母的值如上面给出如果主体序列以一个减号开始转换结果是负的只要不是空指针指向最后的宽字符串的指针存储在指向的目标中在不是本地环境中其他依赖实现的主体序列格式可被接受如果主体序列是空或者没有期望格式不发生转换只要不是空指针的值存储在指向的目标中返回如果成功返回转换后的值如果没有转换执行返回零并且被置入如果正确的值溢出返回或根据值的符号置入扫描功能名称转换格式化输入格式说明注此处只说明有关中文处理的部分从命名的输入流中读从标准输入流中读从串中读每个函数按照格式解释读入的字节并将结果存储到它的参

47、数中每个函数都要求一些参数其中包括下文描述的控制串以及一组指针型参数它指示转换的输入的存储位置如果没有足够的参数用于格式转换结果没定义如果参数超过格式转换所需要的数目多余的参数被求值或被忽略将代替转换说明符是中的一个十进制整数它给出参数序列中参数的位置转换说明符适用于后面参数序列中的个参数而不适用于再下面没有用到的参数这种特点为特定语言按次序选择参数提供了格式定义在含有格式转换说明的格式串中对于参数表中已编号的参数是否可以多次从参数表中指定未做规定可以含有转换说明或但通常两种格式不能混用于一个串中只有或例外可以与格式混用的所有格式都允许对输入串中依赖语言的基数字符的检测基数字符是在程序的本地环

48、境里定义的在本地环境或在没有定义基数字符的本地环境中基数字符默认为小数点下列是有效的转换字符只列出与中文处理有关的转换字符匹配由域宽指定其字符数的字符序列如果指令中未指定域宽则为该序列以与同样的方式被转换成宽字符代码对应的参数应该是指向型数组的开始宽字符代码的指针数组必须足够大以便能接受该序列结尾不加空宽字符如果匹配序列以初始切换状态开始转换类似于函数否则转换无定义匹配一个不是空白符的字符序列该序列以与同样的方式被转换成宽字符代码对应的参数应该是指向型数组的开始宽字符代码的指针数组必须足够大以便能接受该序列和结尾的空宽字符该空宽字符将被自动添加如果域宽已经指定它指示接收的字符的最大数返回如果成

49、功这些函数返回被成功匹配并赋值的输入项的数目如果匹配很早失败返回值可能是零如果在第一次匹配失败或转换之前输入结束返回如果发生读错误置流的出错信息指示器返回置以示出错区域环境设定名称设置程序的本地环境格式说明根据和选择适当的程序本地环境可被用来改变或查询程序本地环境的全部或部分的值表示程序的全部本地环境的其他值表示程序的部分本地环境影响正则表达式和理序函数的行为影响正则表达式字符分类字符转换函数宽字符函数的行为影响命令和实用程序要求的作为肯定或否定回答的串的形式以及消息的内容影响处理货币值的函数的行为影响格式化输入输出函数的基数字符和串转换函数影响时间转换函数的行为参数是一指向字符串的指针包含所需的设置该串的内容是依赖于实现的下列的预置值是为所有的设置定义的为语言翻译指定的最小环境称为本地环境如果没被调用即为默认值同指定一种依赖于实现的本地环境它与相关的环境变量和的值相一致空指针直接用去询问当前国际化环境并返回的名字返回如果成功返回与新本地环境的类型相关的串否则返回空指针并且程序本地环境没被改变如果是空指针则

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 标准规范 > 国家标准

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1