Pages - Menu

viernes, 7 de febrero de 2014

La librería wchar.h

El archivo de cabecera de la biblioteca estándar de C wchar.h sirve para manipular flujos de datos y caracteres anchos. La necesidad de ésta cabecera surgió cuando había que soportar la manipulación de caracteres de diferentes idiomas.

Foto tomada de freedigitalphotos.net
Las constantes son:

NULL
WCHAR_MIN
WCHAR_MAX
WEOF

Los tipos de datos son:

mbstate_t
size_t
wchar_t
wint_t

Las funciones son:

Cadenas de caracteres anchos:

Name
wchar_t *wcscat(wchar_t *s1, const wchar_t *s2);
wchar_t *wcschr(const wchar_t *s, wchar_t c);
int wcscmp(const wchar_t *s1, const wchar_t *s2);
int wcscoll(const wchar_t *s1, const wchar_t *s2);
wchar_t *wcscpy(wchar_t *s1, const wchar_t s2);
size_t wcscspn(const wchar_t *s1, const wchar_t *s2);
size_t wcslen(const wchar_t *s);

Matrices de caracteres anchos:

Name
wchar_t *wmemchr(const wchar_t *s, wchar_t c, size_t n);
int wmemcmp(const wchar_t *s1, const wchar_t *s2, size_t n);
wchar_t *wmemcpy(wchar_t *s1, const wchar_t *s2, size_t n);
wchar *wmemmove(wchar_t *s1, const wchar_t *s2, size_t n);
wchar_t *wmemset(wchar_t *s, wchar_t c, size_t n)

Funciones de conversión:

Name
wint_t btowc(int c);
int wctob(wint_t c);

Funciones I/O de caracteres anchos:

Name
wint_t fgetwc(FILE *stream);
wchar_t *fgetws(wchar_t *s, int n, FILE *stream);
wint_t fputwc(wchar_t *c, FILE *stream);
int fputws(const wchar_t *s, FILE *stream);
int fwprintf(FILE *stream, const wchar_t format,...);
int fwscanf(FILE *stream, const wchar_t format,...);
wint_t getwc(FILE*stream);
wint_t getwchar()
wint_t putwc(wchar_t c, FILE *stream);
wint_t putwchar(wchar_t c);

¿Qué utilidades ves al uso de wchar.h?