widec(3S)widec(3S)NAMEwidec - multibyte character I/O routines
SYNOPSIS
#include <stdio.h>
#include <widec.h>
DESCRIPTION (International Functions)
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-based
function
byte-based
function
character- and
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.
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.
Page 1
widec(3S)widec(3S)
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,
scanf, fscanf, and sscanf 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>
SEE ALSOopen(2), close(2), lseek(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(3S), getws(3S), putwc(3S), putws(3S),
ungetwc(3S), wcstring(3S).
Page 2