widec(3S) widec(3S)
NAME
widec - multibyte character I/O routines
SYNOPSIS
#include <stdio.h>
#include <widec.h>
DESCRIPTION
The functions that the multibyte character library provides
for wchar_t string operations correspond to those provided by
stdio(3S) as shown in the table below:
____________________________________________________________
character- byte-based character- and
based function function byte-based
____________________________________________________________
character I/O getwc getc
getwchar getchar
fgetwc fgetc
ungetwc ungetc
putwc putc
putwchar putchar
fputwc fputc
____________________________________________________________
string I/O getws gets
fgetws fgets
putws puts
fputws fputs
____________________________________________________________
formatted I/O printf
fprintf
sprintf
vprintf
vfprintf
vsprintf
scanf
fscanf
sscanf
____________________________________________________________
The character-based input and output routines provide the
ability to work in units of characters instead of bytes. C
programs using these routines can treat all characters from
any of the four EUC code sets as the same size by using the
wchar_t representation.
Copyright 1994 Novell, Inc. Page 1
widec(3S) widec(3S)
getwc returns a value of type wchar_t, which corresponds to
the EUC representation of a character read from the input
stream. getwc uses the cswidth parameter in the character
class table to determine the width of the character in its EUC
form.
putwc transforms a wchar_t character into EUC, and writes it
to the named output stream. putwc also uses the cswidth
parameter to determine the widths of characters in EUC.
The macros getwchar and putwchar; the functions fgetwc,
fputwc, getws, fgetws, putws, and fputws; and the format
specifications %wc and %ws of the functions printf, fprintf,
sprintf, vprintf, vfprintf, vsprintf
[see fprintf(3S) for descriptions of all these functions],
scanf, fscanf, and sscanf [see fscanf(3S) for descriptions of
all these functions] act as if they had made successive calls
to either getwc or putwc.
The character-based routines use the existing byte-based
routines internally, so the buffering scheme is the same.
Any program that uses these routines must include the
following header files:
#include <stdio.h>
#include <widec.h>
REFERENCES
close(2), ctermid(3S), cuserid(3S), fclose(3S), ferror(3S),
fopen(3S), fprintf(3S), fread(3S), fscanf(3S), fseek(3S),
getwc(3S), getws(3W), lseek(2), mbchar(3C), mbstring(3C),
open(2), pipe(2), popen(3S), putwc(3S), putws(3W), read(2),
setbuf(3S), stdio(3S), system(3S), tmpfile(3S), tmpnam(3S),
ungetwc(3S), write(2), wstring(3W)
Copyright 1994 Novell, Inc. Page 2