wcswidth ()- 确定宽字符串的显示宽度
格式
#include <wchar.h>
int wcswidth (const wchar_t *wcs, size_t n);语言级别
XPG4
线程安全
是
语言环境敏感
如果在编译命令上指定了 LOCALETYPE (*LOCALE) ,那么此函数的行为可能受当前语言环境的 LC_CTYPE 类别影响。 如果在编译命令上指定了 LOCALETYPE (*LOCALEUCS2) 或 LOCALETYPE (*LOCALEUTF) ,那么此函数的行为也可能受当前语言环境的 LC_UNI_CTYPE 类别影响。 当在编译命令上指定 LOCALETYPE (*CLD) 时,此功能不可用。 有关更多信息,请参阅 了解 CCSID 和语言环境。
宽字符函数
有关更多信息,请参阅 宽字符 。
描述
wcswidth() 函数确定显示设备上由 wcs 指向的宽字符串中的 n 宽字符 (如果在 n 宽字符耗尽之前迂到空宽字符,那么小于 n 宽字符) 的图形表示占用的打印位置数。 该数字与其在设备上的位置无关。
errno 的值可以设置为 EINVAL (非打印宽字符)。
返回值
wcswidth() 函数返回:- 0 ,如果 wcs 指向空的宽字符; 或者
- 由 wcs指向的宽字符串占用的打印位置数; 或
- -1,如果 wcs 指向的宽字符串中的任何宽字符不是打印宽字符。
示例
#include <stdio.h>
#include <wchar.h>
int main(void)
{
wchar_t *wcs = L"ABC";
printf("wcs has a width of: %d\n", wcswidth(wcs,3));
}
/************The output is as follows**************/
/* */
/* wcs has a width of: 3 */
/* */
/**************************************************/