FoldString

【勇芳软件工作室】汉化HomePreviousNext

FoldString函数将一个字符串映射到另一个字符串,执行指定的转换选项。

int FoldString(

DWORD 【dwMapFlags】,//映射变换选项
LPCTSTR 【lpSrcStr】,//指向源字符串的指针
INT 【cchSrc】,//源字符串的大小,以字节或字符为单位
LPTSTR 【lpDestStr】,//指向目标缓冲区的指针
INT 【cchDest】//目标缓冲区的大小,以字节或字符为单位
); 

参数

【dwMapFlags】

一组位标志,指示在映射期间要使用的转换类型。该值可以是以下位标志常量的组合:

选项含义
MAP_FOLDCZONE将兼容区域字符串折成标准的Unicode等价物。有关兼容区域字符的信息,请参阅以下备注部分。
MAP_FOLDDIGITS将所有数字映射到Unicode字符0到9。
MAP_PRECOMPOSED将重音字符映射到预先配置的字符,其中将口音和基本字符组合成单个字符值。此值不能与MAP_COMPOSITE组合。
MAP_COMPOSITE将重音字符映射到复合字符,其中重音和基本字符由两个字符值表示。该值不能与MAP_PRECOMPOSED组合。

【lpSrcStr】

指向要映射的字符串。

【cchSrc】

指定【lpSrcStr】缓冲区的大小(以字节为单位)(ANSI版本)或字符(Unicode版本)。如果【cchSrc】为-1,则假定【lpSrcStr】为空终止,并自动计算长度。

【lpDestStr】

指向缓冲区以存储映射的字符串。

【cchDest】

指定【lpDestStr】缓冲区的大小(以字节为单位)(ANSI版本)或字符(Unicode版本)。如果【cchDest】为零,则该函数返回保存映射字符串所需的字节数或字符数,不使用【lpDestStr】指向的缓冲区。

返回值

如果函数成功,则返回值是写入目标缓冲区的字节数(ANSI版本)或字符(Unicode版本),或者【cchDest】参数为零时,要保存映射的字节数或字符数串。

如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.GetLastError可能会返回以下错误代码之一:

ERROR_INSUFFICIENT_BUFFER
ERROR_INVALID_FLAGS
ERROR_INVALID_PARAMETER

备注

如果源字符串为空终止,则映射的字符串为空终止。

【lpSrcStr】【lpDestStr】指针不能相同。如果它们相同,则该函数失败,GetLastError返回ERROR_INVALID_PARAMETER。

Unicode中的兼容区域由0xF900到0xFFEF范围内的字符组成,分配给来自其他字符编码标准的字符,但实际上已经是Unicode的字符的变体。兼容区用于支持这些标准的往返映射。应用程序可以使用MAP_FOLDCZONE标志来避免支持兼容区域中的字符重复。

也可以看看

LCMapString, CompareString