toascii() — 文字から ASCII で表現可能な文字への変換

フォーマット

#include <ctype.h>
int toascii(int c);

言語レベル

XPG4

スレッド・セーフ

はい

ロケール依存

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

説明

toascii() 関数は、文字 c が 7 ビット US-ASCII ロケールで何にマップされるかを判別し、現行ロケール内の対応する文字エンコードを戻します。

戻り値

toascii() 関数は、文字 c を 7 ビット US-ASCII ロケールに応じてマップし、現行ロケール内の対応する文字エンコードを戻します。

この例は、toascii() によって 0x7c から 0x82 がマップされる 7 ビット US-ASCII 文字のエンコードを出力します。
#include <stdio.h>                                   
#include <ctype.h>                                   
                                                      
 void main(void)                                      
 {                                                    
   int ch;                                            
                                                      
   for (ch=0x7c; ch<=0x82; ch++) {                    
     printf("toascii(%#04x) = %c¥n", ch, toascii(ch));
   }                                                  
                                                      
 }                                                    
 
/*****************And the output should be:********************************
toascii(0x7c) = @
toascii(0x7d) = '
toascii(0x7e) = =
toascii(0x7f) = "
toascii(0x80) = X
toascii(0x81) = a
toascii(0x82) = b
**********************************************************************/