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)
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004