wcsxfrm() — ワイド文字ストリングの変換

フォーマット

#include <wchar.h>
size_t wcsxfrm (wchar_t *wcs1, const wchar_t *wcs2, size_t n);

言語レベル: XPG4

スレッド・セーフ: はい。

ロケール依存: コンパイル・コマンドで LOCALETYPE(*LOCALE) が指定される場合、この関数の振る舞いは、現行ロケールの LC_COLLATE カテゴリーの影響を 受ける可能性があります。また、コンパイル・コマンドで LOCALETYPE(*LOCALEUTF) が指定される場合、この関数の振る舞いは、現行ロケールの LC_UNI_COLLATE カテゴリーの 影響も受ける可能性があります。 この関数は、コンパイル・コマンドで LOCALETYPE(*LOCALEUCS2) が指定される場合は サポートされません。この関数は、コンパイル・コマンドに対して LOCALETYPE(*CLD) が指定されている場合には使用できません。詳細については、CCSID およびロケールの理解を参照してください。

ワイド文字関数: 詳細については、ワイド文字 を参照してください。

説明

wcsxfrm() 関数は、 wcs2 が指すワイド文字ストリングを文字照合重みを 表示する値に変形し、結果のワイド文字ストリングを wcs1 が指すワイド文字ストリングに配置します。

戻り値

wcsxfrm() 関数は、変形されたワイド文字ストリングの長さ (終了ヌル・ワイド文字コードは除く) を戻します。戻された値が n またはそれを超える場合には、wcs1 が指す配列の内容は保証されません。

wcsxfrm() が正常に実行されなかった場合、errno が変更されます。errno の値は、 EINVAL (wcs1 または wcs2 引数に、現行ロケールで使用不可の文字が 含まれている) に設定される可能性があります。

wcsxfrm() の使用例

#include <stdio.h>
#include <wchar.h>
 
int main(void)
{
   wchar_t *wcs;
   wchar_t buffer[80];
   int length;
 
   printf("Type in a string of characters.¥n ");
   wcs = fgetws(buffer, 80, stdin);
   length = wcsxfrm(NULL, wcs, 0);
   printf("You would need a %d element array to hold the wide string¥n", length);
   printf("¥n¥n%S¥n¥n transformed according", wcs);
   printf(" to this program's locale. ¥n");
}

関連情報



[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]