widec(3S)


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 Intro(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 puhar  
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

 
                 character-based   byte-based   character- and 
                 function          function     byte-based 
 ------------------------------------------------------------- 
 character I/O   getwc             getc 
                 getwchar          getchar 
                 fgetwc            fgetc 
                 ungetwc           ungetc 
                 putwc             putc 
                 putwchar          puhar 
                 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.

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(3wide), Intro(3S), lseek(2), mbchar(3C), mbstring(3C), open(2), pipe(2), popen(3S), putwc(3S), putws(3wide), read(2), setbuf(3S), system(3S), tmpfile(3S), tmpnam(3S), ungetwc(3S), write(2), wstring(3wide)
30 January 1998
© 1998 The Santa Cruz Operation, Inc. All rights reserved.