7.4.21 < wchar.h>

以下は、すべてマクロ定義です。

種別

定義名

説明

マクロ

mbstate_t

多バイト文字の並びとワイド文字の並びの間に必要な変換の状態を保持する型です。

wint_t

拡張文字を保持する型です。

定数

(マクロ)

WEOF

ファイルの終わりを表します。

関数

fwprintf

出力形式を変換して、ストリームへ出力します。

vfwprintf

可変個数の実引数並びをva_listで置き換えたfwprintfと等価です。

swprintf

出力形式を変換してワイド文字の配列に書き込みます。

vswprintf

可変個数の実引数並びをva_listで置き換えたswprintfと等価です。

wprintf

与えられた実引数の前にstdoutを実引数として付加したfwprintfと等価です。

vwprintf

可変個数の実引数並びをva_listで置き換えたwprintfと等価です。

fwscanf

ワイド文字列の制御に従ってストリームから入力して変換し、オブジェクトに代入します。

vfwscanf <-lang=c99>

可変個数の実引数並びをva_listで置き換えたfwscanfと等価です。

swscanf

ワイド文字列の制御に従って変換し、オブジェクトに代入します。

vswscanf <-lang=c99>

可変個数の実引数並びをva_listで置き換えたswscanfと等価です。

wscanf

与えられた実引数の前にstdinを実引数として付加したfwscanfと等価です。

vwscanf <-lang=c99>

可変個数の実引数並びをva_listで置き換えたwscanfと等価です。

fgetwc

wchar_t型として取り込みwint_t型に変換します。

fgetws

ワイド文字の列を配列に格納します。

fputwc

ワイド文字を書き込みます。

fputws

ワイド文字列を書き込みます。

fwide

入出力の単位を設定します。

getwc

fgetwcと等価です。

getwchar

実引数にstdinを指定したgetwcと等価です。

putwc

fputwcと等価です。

putwchar

第2引数にstdoutを指定したputwcと等価です。

ungetwc

ワイド文字をストリームに戻します。

wcstod

wcstof

wcstold

ワイド文字列の最初の部分をdouble, floatおよびlong double型の表現に変換します。

wcstol

wcstoll <-lang=c99>

wcstoul

wcstoull <-lang=c99>

ワイド文字列の最初の部分をlong int, long long int, unsigned long int およびunsigned long long int型の表現に変換します。

wcscpy

ワイド文字列をコピーします。

wcsncpy

n個以下のワイド文字をコピーします。

wmemcpy

nワイド文字をコピーします。

wmemmove

nワイド文字をコピーします。

wcscat

ワイド文字列をコピーし、ワイド文字列の最後に付加します。

wcsncat

n個以下のワイド文字列をコピーし、ワイド文字列の最後に付加します。

wcscmp

ワイド文字列同士を比較します。

関数

wcsncmp

nワイド文字以下の配列を比較します。

wmemcmp

nワイド文字を比較します。

wcschr

ワイド文字列の中でワイド文字を検索します。

wcscspn

ワイド文字列の中で、ワイド文字列が含まれているかを検索します。

wcspbrk

ワイド文字列の中で、ワイド文字列が含まれている最初の位置を検索します。

wcsrchr

ワイド文字列の中でワイド文字が最後に現れる位置を検索します。

wcsspn

ワイド文字列の中から、ワイド文字を含む先頭部分の最大の長さを計算します。

wcsstr

ワイド文字列の中からワイド文字の並びをが最初に現れる位置を検索します。

wcstok

ワイド文字列をワイド文字で区切られる字句の列に分割します。

wmemchr

オブジェクトの先頭からnワイド文字の中でワイド文字が最初に現れる位置を検索します。

wcslen

ワイド文字列の長さを計算します。

wmemset

nワイド文字をコピーします。

mbsinit

初期変換状態か判定します。

mbrlen

多バイト文字を構成するバイト数を計算します。

 

fwprintf

書式に従って、ストリーム入出力用ファイルへデータを出力します。

 

[指定形式]

#include <stdio.h>

#include <wchar.h>

long fwprintf(FILE *restrict fp, const wchar_t *restrict control [, arg] …);

 

[引数]

fp ファイルポインタ

control 書式を示すワイド文字列へのポインタ

arg,... 書式に従って出力されるデータの並び

 

[戻り値]

正常: 変換し出力したワイド文字列数

異常: 負の値

 

[備考]

fwprintf関数はfprintf関数のワイド文字対応版です。

 

vfwprintf

可変個の引数リストを書式に従って、指定したストリーム入出力用ファイルに出力します。

 

[指定形式]

#include <stdarg.h>

#include <stdio.h>

#include <wchar.h>

long vfwprintf(FILE *restrict fp, const char *restrict control, va_list arg);

 

[引数]

fp ファイルポインタ

control 書式を示すワイド文字列へのポインタ

arg 引数リスト

 

[戻り値]

正常:変換し出力した文字数

異常:負の値

 

[備考]

vfwprintf関数はvfprintf関数のワイド文字対応版です。

 

swprintf

データを書式に従って変換し、指定した領域へ出力します。

 

[指定形式]

#include <stdio.h>

#include <wchar.h>

long swprintf(wchar_t *restrict s, size_t n, const wchar_t *restrict control [, arg] …)

 

[引数]

s データを出力する記憶域へのポインタ

n 出力するワイド文字数

control 書式を示すワイド文字列へのポインタ

arg,... 書式に従って出力されるデータ

 

[戻り値]

正常: 変換した文字数

異常: 表現形式エラー又は

n個以上のワイド文字の書き込みが要求された場合は負の値

 

[備考]

swprintf 関数はsprintf関数のワイド文字対応版です。

 

vswprintf

可変個の引数リストを書式に従って、指定した記憶域に出力します。

 

[指定形式]

#include <stdarg.h>

#include <wchar.h>

long vswprintf(wchar_t *restrict s, size_t n, const wchar_t *restrict control, va_list arg)

 

[引数]

s データを出力する記憶域へのポインタ

n 出力するワイド文字数

control 書式を示すワイド文字列へのポインタ

arg 引数リスト

 

[戻り値]

正常:変換した文字数

異常:負の数

 

[備考]

vswprintf関数は、vsprintf関数のワイド文字対応版です。

 

wprintf

データを書式に従って変換し、標準出力ファイル(stdout)へ出力します。

 

[指定形式]

#include <stdio.h>

#include <wchar.h>

long wprintf(const wchar_t *restrict control [, arg] …);

 

[引数]

control 書式を示す文字列へのポインタ

arg,... 書式に従って出力されるデータ

 

[戻り値]

正常:変換し出力したワイド文字数

異常:負の値

 

[備考]

wprintf関数はprintf関数のワイド文字対応版です。

 

vwprintf

可変個の引数リストを書式に従って標準出力ファイル(stdout)に出力します。

[指定形式]

 

#include <stdarg.h>

#include <wchar.h>

long vwprintf(const wchar_t *restrict control, va_list arg);

 

[引数]

control 書式を示すワイド文字列へのポインタ

arg 引数リスト

 

[戻り値]

正常:変換し出力した文字数

異常:負の値

 

[備考]

vwprintf関数はvprintf関数のワイド文字対応版です。

 

fwscanf

ストリーム入出力ファイルからデータを入力し、書式に従って変換します。

 

[指定形式]

#include <stdio.h>

#include <wchar.h>

long fwscanf(FILE *restrict fp, const wchar_t *restrict control [, ptr] ,,,);

 

[引数]

fp ファイルポインタ

control 書式を示すワイド文字列へのポインタ

ptr 入力したデータを格納する記憶域へのポインタ

 

[戻り値]

正常: 入力変換に成功したデータの個数

異常: 入力データの変換を行う前に入力データが終了した時:EOF

 

[備考]

fwscanf 関数は、fscanf関数のワイド文字対応版です。

 

vfwscanf

ストリーム入出力用ファイルからデータを入力し、書式に従って変換します。

 

[指定形式]

#include <stdarg.h>

#include <stdio.h>

#include <wchar.h>

long vfwscanf(FILE *restrict fp, const wchar_t *restrict control , va_list arg);

 

[引数]

fp ファイルポインタ

control 書式を示すワイド文字列へのポインタ

arg 引数リスト

 

[戻り値]

正常:入力変換に成功したデータの個数

異常:入力データの変換を行う前に入力データが終了した時:EOF

 

[備考]

vfwscanf関数はvfscanf関数のワイド文字対応版です。

 

swscanf

指定した記憶域からデータを入力し、書式に従って変換します。

 

[指定形式]

#include <stdio.h>

#include <wchar.h>

long swscanf(const wchar_t *restrict s, const wchar_t *restrict control [, ptr] …);

[引数]

s 入力するデータがある記憶域

control 書式を示すワイド文字列へのポインタ

ptr,... 入力変換したデータを格納する記憶域へのポインタ

 

[戻り値]

正常:入力変換に成功したデータの個数

異常:EOF

 

[備考]

swscanf関数はsscanf関数のワイド文字対応版です。

 

vswscanf

指定した記憶域からデータを入力し、書式に従って変換します。

 

[指定形式]

#include <stdarg.h>

#include <wchar.h>

long vswscanf(const wchar_t *restrict s, const wchar_t *restrict control, va_list arg)

 

[引数]

s 入力するデータがある記憶域

control 書式を示すワイド文字列へのポインタ

arg 引数リスト

 

[戻り値]

正常:入力変換に成功したデータの個数

異常:EOF

 

wscanf

標準入力ファイル(stdin)からデータを入力し、書式に従って変換します。

 

[指定形式]

#include <wchar.h>

 

long wscanf(const wchar_t *control [, ptr] …);

[引数]

control 書式を示すワイド文字列へのポインタ

ptr,... 入力変換したデータを格納する記憶域へのポインタ

 

[戻り値]

正常:入力変換に成功したデータの個数

異常:EOF

 

[備考]

wscanf関数はscanf関数のワイド文字対応版です。

 

vwscanf

指定した記憶域からデータを入力し、書式に従って変換します。

 

[指定形式]

#include <stdarg.h>

#include <wchar.h>

long vwscanf(const wchar_t *restrict control , va_list arg);

[引数]

control 書式を示すワイド文字列へのポインタ

arg 引数リスト

 

[戻り値]

正常:入力変換に成功したデータの個数

異常:入力データの変換を行う前に入力データが終了した時:EOF

 

[備考]

vwscanf関数は、vscanf関数をワイド文字列の書式を使えるようにした関数です。

 

fgetwc

ストリーム入出力用ファイルから1つのワイド文字を入力します。

[指定形式]

 

#include <stdio.h>

#include <wchar.h>

wint_t fgetwc(FILE *fp);

 

[引数]

fp ファイルポインタ

[戻り値]

正常: ファイルの終了の時 :EOF

ファイルの終了でない時 :入力したワイド文字

異常: EOF

 

[備考]

読み込みエラーが発生した時、そのファイルに対してのエラー指示子が設定されます。

fgetwc関数はfgetc関数をワイド文字が入力できるようにした関数です。

 

fgetws

ストリーム入出力用ファイルからワイド文字列を入力します。

 

[指定形式]

#include <stdio.h>

#include <wchar.h>

wchar_t *fgetws(wchar_t *restrict s, long n, FILE *fp);

 

[引数]

s ワイド文字列を入力する記憶域へのポインタ

n ワイド文字列を入力する記憶域のバイト数

fp ファイルポインタ

 

[戻り値]

正常: ファイルの終了の時 :NULL

ファイルの終了でない時 :s

異常: NULL

 

[備考]

fgetws関数はfgets関数をワイド文字列が入力できるように対応した関数です。

 

fputwc

ストリーム入出力用ファイルへ1つのワイド文字を出力します。

 

[指定形式]

#include <stdio.h>

#include <wchar.h>

wint_t fputwc(wchar_t c, FILE *fp);

 

[引数]

c 出力する文字

fp ファイルポインタ

 

[戻り値]

正常:出力したワイド文字

異常:EOF

 

[備考]

書き出しエラーが発生した時は、そのファイルに対してエラー指示子が設定されます。

fputwc関数はfputc関数のワイド文字対応版です。

 

fputws

ストリーム入出力用ファイルへワイド文字列を出力します。

 

[指定形式]

#include <stdio.h>

#include <wchar.h>

long fputws(const wchar_t *restrict s, FILE *restrict fp);

 

[引数]

s 出力するワイド文字列へのポインタ

fp ファイルポインタ

 

[戻り値]

正常:0

異常:EOF

 

[備考]

fputws関数はfputs関数のワイド文字対応版です。

 

fwide

ファイルへの入力単位を設定します。

 

[指定形式]

#include <stdio.h>

#include <wchar.h>

long fwide(FILE *fp, long mode);

 

[引数]

fp ファイルポインタ

mode 入力単位を表す値

 

[戻り値]

ワイド文字単位が設定された場合は0より大きい値

バイト単位の場合は0より小さい値

入出力単位をもたない場合は0

 

[備考]

fwide関数はストリーム入出力単位が既に決定されている場合、それを変更しません。

 

getwc

ストリーム入出力用ファイルから1つのワイド文字を入力します。

 

[指定形式]

#include <stdio.h>

#include <wchar.h>

long getwc(FILE *fp);

 

[引数]

fp ファイルポインタ

 

[戻り値]

正常: ファイルの終了の時 :WEOF

ファイルの終了でない時 :入力した文字

異常: EOF

 

[備考]

読み込みエラーが発生した時、そのファイルに対してエラー指示子が設定されます。

getwc関数はfgetwcと等価ですが、マクロとして実装されているため、fpを2回以上評価することがあります。したがって、fpは副作用を伴わない式にしてください。

 

getwchar

標準入力ファイル(stdin)から、1つのワイド文字を入力します。

 

[指定形式]

#include <wchar.h>

long getwchar(void);

 

[引数]

 

[戻り値]

正常: ファイルの終了の時 :WEOF

ファイルの終了でない時 :入力したワイド文字

異常: EOF

 

[備考]

読み込みエラーが発生した時、そのファイルに対してエラー指示子が設定されます。

getwchar関数はgetchar関数のワイド文字対応版です。

 

putwc

ストリーム入出力用ファイルへ1つのワイド文字を出力します。

 

[指定形式]

#include <stdio.h>

#include <wchar.h>

wint_t putwc(wchar_t c, FILE *fp);

 

[引数]

c 出力するワイド文字

fp ファイルポインタ

 

[戻り値]

正常: 出力したワイド文字

異常: WEOF

 

[備考]

書き出しエラーが発生した時は、そのファイルに対してエラー指示子が設定されます。

putwc関数はfputwcと等価ですが、マクロとして実装されているため、fpを2回以上評価することがあります。したがって、fpは副作用を伴わない式にしてください。

 

putwchar

標準出力ファイル(stdout)へ1つのワイド文字を出力します。

 

[指定形式]

#include <wchar.h>

wint_t putwchar(wchar_t c);

 

[引数]

c 出力するワイド文字

 

[戻り値]

正常:出力したワイド文字

異常:WEOF

 

[備考]

書き出しエラーが発生した時は、そのファイルに対してエラー指示子が設定されます。

putwchar関数はputchar関数のワイド文字対応版です。

 

ungetwc

ストリーム入出力用ファイルへ1つのワイド文字を戻します。

 

[指定形式]

#include <stdio.h>

#include <wchar.h>

wint_t ungetwc(wint_t c, FILE *fp) ;

 

[引数]

c 戻すワイド文字

fp ファイルポインタ

 

[戻り値]

正常:戻したワイド文字

異常:WEOF

 

[備考]

ungetwc関数は、ungetc関数のワイド文字対応版です。

 

wcstod/ wcstof/ wcstold

ワイド文字列の最初の部分を所定の型の浮動小数点値に変換します。

 

[指定形式]

#include <wchar.h>

double wcstod(const wchar_t *restrict nptr, wchar_t **restrict endptr);

float wcstof(const wchar_t *restrict nptr, wchar_t **restrict endptr);

long double wcstold(const wchar_t *restrict nptr, wchar_t **restrict endptr);

 

[引数]

nptr 変換する数を表現する文字列へのポインタ

endptr 浮動小数点値を構成していない最初の文字へのポインタを格納 する記憶域へのポインタ

 

[戻り値]

正常: nptrが指している文字列が浮動小数点型を構成しない文字で始まっている時:0

nptrが指している文字列が浮動小数点型を構成する文字で始まっている時 :変換された型の浮動小数点値

異常: 変換後の値がオーバフローの時:変換する文字列の符号と同符号をもつ HUGE_VAL, HUGE_VALF, HUGE_VALL

変換後の値がアンダフローの時:0

 

[備考]

変換後の値がオーバフロー/アンダフローをおこした時はerrnoを設定します。

wcstod関数群はstrtod関数群のワイド文字対応版です。

 

wcstol/ wcstoll/ wcstoul/ wcstoull

ワイド文字列の最初の部分を所定の型の整数値に変換します。

 

[指定形式]

#include <wchar.h>

long int wcstol(const wchar_t * restrict nptr, wchar_t ** restrict endptr, long base);

long long int wcstoll(const wchar_t * restrict nptr,wchar_t ** restrict endptr,long base);

unsigned long int wcstoul(const wchar_t * restrict nptr,wchar_t ** restrict endptr,long base);

unsigned long long int wcstoull(const wchar_t * restrict nptr,wchar_t ** restrict endptr,long base);

 

[引数]

nptr 変換する数を表現する文字列へのポインタ

endptr 整数を構成しない最初の文字へのポインタを格納する記憶域への ポインタ

base 変換の基数(0又は2〜36)

 

[戻り値]

正常: nptrが指している文字列が整数を構成しない文字で始まっている時:0

nptrが指している文字列が整数を構成する文字で始まっている時 :変換された型の整数値

異常: 変換後の値がオーバフローの時:変換する文字列の符号に従ってLONG_MIN、LONG_MAX、LLONG_MIN、LLONG_MAX、ULONG_MAX 又はULLONG_MAX

 

[備考]

変換後の値がオーバフローをおこした時は、errnoを設定します。

wcstol関数群はstrtol関数群のワイド文字対応版です。

 

wcscpy

複写元のワイド文字列の内容を、複写先の記憶域にヌル文字も含めて複写します。

 

[指定形式]

#include <wchar.h>

wchar_t *wcscpy(wchar_t * restrict s1, const wchar_t * restrict s2);

 

[引数]

s1 複写先の記憶域へのポインタ

s2 複写元の文字列へのポインタ

 

[戻り値]

s1の値

 

[備考]

wcscpy関数群はstrcpy関数群のワイド文字対応版です。

 

wcsncpy

複写元のワイド文字列を指定された文字数分、複写先の記憶域に複写します。

 

[指定形式]

#include <wchar.h>

wchar_t *wcsncpy(wchar_t * restrict s1, const wchar_t * restrict s2, size_t n);

 

[引数]

s1 複写先の記憶域へのポインタ

s2 複写元の文字列へのポインタ

n 複写する文字数

[戻り値]

s1の値

 

[備考]

wcsnpy関数はstrncpy関数のワイド文字対応版です。

 

wmemcpy

複写元の記憶域の内容を、指定した大きさ分、複写先の記憶域に複写します。

 

[指定形式]

#include <wchar.h>

wchar_t *wmemcpy(wchar_t *restrict s1, const wchar_t *restrict s2, size_t n);

 

[引数]

s1 複写先の記憶域へのポインタ

s2 複写元の記憶域へのポインタ

n 複写する文字数

 

[戻り値]

s1の値

 

[備考]

wmemcpy関数はmemcpy関数のワイド文字対応版です。

 

wmemmove

複写元の記憶域の内容を指定した大きさ分、複写先の記憶域に複写します。また、複写元と複写先の記憶域が、重なっている部分があっても、複写元の重なっている部分を上書きする前に複写するので正しく複写されます。

 

[指定形式]

#include <wchar.h>

wchar_t *wmemmove(wchar_t *s1, const wchar_t *s2, size_t n);

 

[引数]

s1 複写先の記憶域へのポインタ

s2 複写元の記憶域へのポインタ

n 複写する文字数

 

[戻り値]

s1の値

 

[備考]

wmemmove関数はmemmove関数のワイド文字対応版です。

 

wcscat

文字列の後に、文字列を連結します。

 

[指定形式]

#include <wchar.h>

wchar_t *wcscat(wchar_t *s1, const wchar_t *s2);

 

[引数]

s1 連結される文字列へのポインタ

s2 連結する文字列へのポインタ

 

[戻り値]

s1の値

 

[備考]

wcscat関数はstrcat関数のワイド文字対応版です。

 

wcsncat

文字列に文字列を指定した文字数分連結します。

 

[指定形式]

#include <wchar.h>

wchar_t *wcsncat(wchar_t * restrict s1, const wchar_t * restrict s2, size_t n);

 

[引数]

s1 連結される文字列へのポインタ

s2 連結する文字列へのポインタ

n 連結する文字数

 

[戻り値]

s1の値

 

[備考]

wcsncat関数はstrncat関数のワイド文字対応版です。

 

wcscmp

指定された2つの文字列の内容を比較します。

 

[指定形式]

#include <wchar.h>

long wcscmp(const wchar_t *s1, const wchar_t *s2);

 

[引数]

s1 比較される文字列へのポインタ

s2 比較する文字列へのポインタ

 

[戻り値]

s1で指された文字列 > s2で指された文字列の時:正の値

s1で指された文字列 == s2で指された文字列の時:0

s1で指された文字列 < s2で指された文字列の時:負の値

 

[備考]

wcscmp関数はstrcmp関数のワイド文字対応版です。

 

wcsncmp

指定された2つの文字列を指定された文字分まで比較します。

 

[指定形式]

#include <wchar.h>

long wcsncmp(const wchar_t *s1, const wchar_t *s2, size_t n);

 

[引数]

s1 比較される文字列へのポインタ

s2 比較する文字列へのポインタ

n 比較する文字数の最大値

 

[戻り値]

s1で指された文字列 > s2で指された文字列の時:正の値

s1で指された文字列 == s2で指された文字列の時:0

s1で指された文字列 < s2で指された文字列の時:負の値

 

[備考]

wcsncmp関数はstrncmp関数のワイド文字対応版です。

 

wmemcmp

指定された2つの記憶域の内容を比較します。

 

[指定形式]

#include <wchar.h>

long wmemcmp(const wchar_t * s1, const wchar_t * s2, size_t n);

 

[引数]

s1 比較される記憶域へのポインタ

s2 比較する記憶域へのポインタ

n 比較する記憶域の文字数

 

[戻り値]

s1で指された記憶域 > s2で指された記憶域の時:正の値

s1で指された記憶域 == s2で指された記憶域の時:0

s1で指された記憶域 < s2で指された記憶域の時:負の値

 

[備考]

wmemcmp関数はmemcmp関数のワイド文字対応版です。

 

wcschr

指定された文字列において、指定された文字が最初に現われる位置を検索します。

 

[指定形式]

#include <wchar.h>

wchar_t *wcschr(const wchar_t *s, wchar_t c);

 

[引数]

s 検索を行う文字列へのポインタ

c 検索する文字

 

[戻り値]

検索の結果見つかった時 :見つけられた文字へのポインタ

検索の結果見つからなかった時 :NULL

 

[備考]

wcschr関数はstrchr関数のワイド文字対応版です。

 

wcscspn

指定された文字列を先頭から調べ、別に指定した文字列中の文字以外の文字が先頭から何文字続くか求めます。

 

[指定形式]

#include <wchar.h>

size_t wcscspn(const wchar_t *s1, const wchar_t *s2);

 

[引数]

s1 調べられる文字列へのポインタ

s2 s1を調べるための文字列へのポインタ

 

[戻り値]

s2が指す文字列を構成する文字以外の文字が構成される文字列s1の先頭からの長さ

 

[備考]

wcscspn関数はstrcspn関数のワイド文字対応版です。

 

wcspbrk

指定された文字列内において、別に指定された文字列中の文字が最初に現われる位置を検索します。

 

[指定形式]

#include <wchar.h>

wchar_t *wcspbrk(const wchar_t *s1, const wchar_t *s2);

 

[引数]

s1 検索を行う文字列へのポインタ

s2 s1内で検索する文字を示す文字列へのポインタ

 

[戻り値]

検索の結果見つかった時 :見つかった文字へのポインタ

検索の結果見つからなかった時 :NULL

 

[備考]

wcspbrk関数はstrpbrk関数のワイド文字対応版です。

 

wcsrchr

指定された文字列において、指定された文字が最後に現われる位置を検索します。

 

[指定形式]

#include <wchar.h>

wchar_t *wcsrchr(const wchar_t *s, wchar_t c);

 

[引数]

s 検索を行う文字列へのポインタ

c 検索する文字

 

[戻り値]

検索の結果見つかった時 :見つかった文字へのポインタ

検索の結果見つからなかった時 :NULL

 

wcsspn

指定された文字列を先頭から調べ、別に指定した文字列中の文字が先頭から何文字続くかを求めます。

 

[指定形式]

#include <wchar.h>

size_t wcsspn(const wchar_t *s1, const wchar_t *s2);

 

[引数]

s1 調べられる文字列へのポインタ

s2 s1を調べるための文字列へのポインタ

 

[戻り値]

s1の先頭から、s2で指定した文字が続いている文字数

 

[備考]

wcsspn関数はstrspn関数のワイド文字対応版です。

 

wcsstr

指定された文字列において、別に指定した文字列が最初に現われる位置を検索します。

[指定形式]

#include <wchar.h>

wchar_t *wcsstr(const wchar_t *s1, const wchar_t *s2);

 

[引数]

s1 検索を行う文字列へのポインタ

s2 検索する文字列へのポインタ

 

[戻り値]

検索の結果見つかったとき :見つけられた文字へのポインタ

検索の結果見つからなかったとき :NULL

 

wcstok

指定した文字列をいくつかの字句に切り分けます。

 

[指定形式]

#include <wchar.h>

wchar_t* wcstok(wchar_t * restrict s1, const wchar_t * restrict s2, wchar_t ** restrict ptr);

 

[引数]

s1 いくつかの字句に切り分ける文字列へのポインタ

s2 文字列を切り分けるための文字からなる文字列へのポインタ

ptr 次の関数呼び出し時に検索を始める文字列へのポインタ

 

[戻り値]

字句に切り分けられた時 :切り分けた字句の先頭へのポインタ

字句に切り分けられなかった時 :NULL

 

[備考]

wcstok関数はstrtok関数のワイド文字対応版です。

同じ文字列に対して2回目以降の検索をする場合はs1にNULLを設定し、ptrには

前回の同文字列に対する関数呼び出しで取得した値を設定してください。

 

wmemchr

指定された記憶域において、指定された文字が最初に現われる位置を検索します。

 

[指定形式]

#include <wchar.h>

wchar_t *wmemchr(const wchar_t *s, wchar_t c, size_t n);

 

[引数]

s 検索を行う記憶域へのポインタ

c 検索する文字

n 検索を行う文字数

 

[戻り値]

検索の結果見つかった時 :見つけられた文字へのポインタ

検索の結果見つからなかった時 :NULL

 

[備考]

wmemchr関数はmemchr関数のワイド文字対応版です。

 

wcslen

終端ナルワイド文字を除くワイド文字列の長さを計算します。

 

[指定形式]

#include <wchar.h>

size_t wcslen(const wchar_t *s);

 

[引数]

s 長さをワイド文字列へのポインタ

 

[戻り値]

ワイド文字列の文字数

 

[備考]

wcslen関数はstrlen関数のワイド文字対応版です。

 

wmemset

指定された記憶域の先頭から、指定された文字を指定された文字数分設定します。

 

[指定形式]

#include <stdio.h>

#include <wchar.h>

wchar_t *wmemset(wchar_t *s, wchar_t c, size_t n);

 

[引数]

s 文字が設定される記憶域へのポインタ

c 設定する文字

n 設定する文字数

 

[戻り値]

sの値

 

[備考]

wmemset関数はmemset関数のワイド文字対応版です。

 

mbsinit

指定されたmbstate_tオブジェクトが初期変換状態かどうか判定します。

 

[指定形式]

#include <wchar.h>

long mbsinit(const mbstate_t *ps);

[引数]

ps mbstate_tオブジェクトへのポインタ

 

[戻り値]

初期化状態の場合0以外の値

それ以外の状態の場合は0

 

mbrlen

指定された多バイト文字のバイト数を取得します。

 

[指定形式]

#include <wchar.h>

size_t mbrlen(const char * restrict s, size_t n, mbstate_t *restrict ps);

 

[引数]

s 多バイト文字列へのポインタ

n 認識する多バイト文字の最大バイト数

ps mbstate_tオブジェクトへのポインタ

 

[戻り値]

0 n 個以下のバイトによってナルワイド文字を認識した場合

1以上n 以下 n 個以下のバイトによって多バイト文字を認識した場合

(size_t)(-2) n 個のバイトだけでは完全な多バイト文字を認識できない場合

(size_t)(-1) 不正な多バイト文字の並びに遭遇した場合