wctrans() —文字マッピングのハンドルの取得

フォーマット

#include <wctype.h>
wctrans_t wctrans(const char *property);

言語レベル: ANSI

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

説明

wctrans() 関数は、wctrans_t 型の値を戻します。この値は、ワイド文字間のマッピングを示します。ストリング引数 property はワイド文字マッピング名です。ワイド文字マッピング名と同等の wctrans_t は、 この関数で戻されます。 toupper および tolower ワイド文字マッピング名は、すべてのロケールで定義されます。

戻り値

property が有効なワイド文字マッピング名である場合、wctrans() 関数は、 towctrans() 関数への 2 番目の引数として有効なゼロ以外の値を戻します。 それ以外の場合は、0 を戻します。

wctrans() の使用例

この例では、英字の小文字を大文字に、英字の大文字を小文字に 変換します。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <wchar.h>
#include <wctype.h>
 
int main()
{
   char *alpha = "abcdefghijklmnopqrstuvwxyz";
   char *tocase[2] = {"toupper", "tolower"};
   wchar_t *wcalpha;
   int i, j;
   size_t alphalen;
 
   alphalen = strlen(alpha)+1;
   wcalpha = (wchar_t *)malloc(sizeof(wchar_t)*alphalen);
 
   mbstowcs(wcalpha, alpha, 2*alphalen);
 
   for (i=0; i<2; ++i) {
      printf("Input string: %ls¥n", wcalpha);
      for (j=0; j<strlen(alpha); ++j) {
			wcalpha[j] = (wchar_t)towctrans((wint_t)wcalpha[j], wctrans(tocase[i]));
			}
		printf("Output string: %ls¥n", wcalpha);
		printf("¥n");
		}
	return 0;	
 
/****************  Output should be similar to:  ******************
 
Input string: abcdefghijklmnopqrstuvwxyz
Output string: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Input string: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Output string: abcdefghijklmnopqrstuvwxyz

*******************************************************************/

関連情報



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