Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ widec(3W) — Motorola System V 88k Release 4 Version 4.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

open(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)

getwc(3W)

getws(3W)

mbchar(3C)

mbstring(3C)

popen(3S)

printf(3S)

printf(3W)

putwc(3W)

putws(3W)

scanf(3S)

scanf(3W)

setbuf(3S)

stdio(3S)

system(3S)

tmpfile(3S)

tmpnam(3S)

ungetwc(3W)

vprintf(3W)

wstring(3W)

widec(3W)  —  MISC. REFERENCE MANUAL PAGES

NAME

widec − 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 the stdio(3S) as shown in the figure 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 provides the ability to work in units of a characters instead of bytes.  C programs using these routines can handle any character, 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 determin the width of the character in its EUC form. 

putwc() transforms a wchar_t character into the EUC, and writes it to the named output stream.  putwc() also uses the cswidth parameter for determining 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 ALSO

open(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), getwc(3W), getws(3W), mbchar(3C), mbstring(3C), popen(3S), printf(3S), printf(3W), putwc(3W), putws(3W), scanf(3S), scanf(3W), setbuf(3S), stdio(3S), system(3S), tmpfile(3S), tmpnam(3S), ungetwc(3W), vprintf(3W), wstring(3W). 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026