#include <euc.h> #include <getwidth.h>void getwidth(eucwidth_t *ptr);
The getwidth() function reads the character class table for the current locale to get information on the supplementary codesets. getwidth() sets this information into the struct eucwidth_t. This struct is defined in <euc.h> and has the following members:
short int _eucw1,_eucw2,_eucw3; short int _scrw1,_scrw2,_scrw3; short int _pcw; char _multibyte;
Codeset width values for supplementary codesets 1, 2, and 3 are set in _eucw1, _eucw2, and _eucw3, respectively. Screen width values for supplementary codesets 1, 2, and 3 are set in _scrw1, _scrw2, and _scrw3, respectively.
The width of Extended Unix Code (EUC) Process Code is set in _pcw. The _multibyte entry is set to 1 if multibyte characters are used, and set to 0 if only single-byte characters are used.
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
|MT-Level||MT-Safe with exceptions|
The getwidth() function can be used safely in a multithreaded application, as long as setlocale(3C) is not being called to change the locale.
The getwidth() function will only work with EUC locales.