widec(3W) 27 Jan 1992 widec(3W)
NAME
widec - multibyte character I/O routines
SYNOPSIS
#include <stdio.h>
#include <widec.h>
DESCRIPTION (International Functions)
The functions the multibyte character library provides for wchart
character and string I/O operations correspond to those provided by
stdio(3S) as shown in the figure below:
____________________________________________________________
character based byte based character and
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 handle any character, from any of the four EUC code sets,
by using the wchart representation, independent of code set width.
getwc() returns a value of type wchart, 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.
Page 1 Reliant UNIX 5.44 1, 1927
widec(3W) 27 Jan 1992 widec(3W)
putwc() transforms a wchart character into EUC, and writes it to the
named output stream. putwc() also uses the cswidth parameter to deter-
mine 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(), scanf(), fscanf(), and
sscanf() all 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>
NOTES
These functions can support either typedef unsigned short wchart or
typedef long wchart conditionally, see mbchar(3W).
SEE ALSO
close(2), lseek(2), open(2), pipe(2), read(2), write(2), ctermid(3S),
cuserid(3S), fclose(3S), ferror(3S), fopen(3S), fread(3S), fseek(3S),
popen(3S), printf(3S), scanf(3S), setbuf(3S), stdio(3S), system(3S),
tmpfile(3S), tmpnam(3S), getwc(3W), getws(3W), mbchar(3W),
mbstring(3W), printf(3W), putwc(3W), putws(3W), scanf(3W),
ungetwc(3W), vprintf(3W), wstring(3W).
Page 2 Reliant UNIX 5.44 1, 1927