toupper
From cppreference.net
|
ヘッダーで定義
<ctype.h>
|
||
|
int
toupper
(
int
ch
)
;
|
||
指定された文字を、現在インストールされているCロケールで定義された文字変換規則に従って大文字に変換します。
デフォルトの
"C"
ロケールでは、以下の小文字
abcdefghijklmnopqrstuvwxyz
が対応する大文字
ABCDEFGHIJKLMNOPQRSTUVWXYZ
に置換されます。
目次 |
パラメータ
| ch | - | 変換される文字。もし ch の値が unsigned char として表現できず、かつ EOF と等しくない場合、動作は未定義です。 |
戻り値
現在のCロケールに大文字バージョンが登録されていない場合は、 ch の大文字バージョン、または変更されていない ch を返します。
例
このコードを実行
#include <ctype.h> #include <limits.h> #include <locale.h> #include <stdio.h> int main(void) { // デフォルトロケールの場合: for (unsigned char l = 0, u; l != UCHAR_MAX; ++l) if ((u = toupper(l)) != l) printf("%c%c ", l, u); printf("\n\n"); unsigned char c = '\xb8'; // ISO-8859-15における文字ž // ISO-8859-1では ¸ (セディーユ) setlocale(LC_ALL, "en_US.iso88591"); printf("in iso8859-1, toupper('0x%x') gives 0x%x\n", c, toupper(c)); setlocale(LC_ALL, "en_US.iso885915"); printf("in iso8859-15, toupper('0x%x') gives 0x%x\n", c, toupper(c)); }
出力例:
aA bB cC dD eE fF gG hH iI jJ kK lL mM nN oO pP qQ rR sS tT uU vV wW xX yY zZ
in iso8859-1, toupper('0xb8') gives 0xb8
in iso8859-15, toupper('0xb8') gives 0xb4
参考文献
- C23規格 (ISO/IEC 9899:2024):
-
- 7.4.2.2 toupper関数 (p: TBD)
- C17規格 (ISO/IEC 9899:2018):
-
- 7.4.2.2 toupper関数 (p: 147-148)
- C11標準 (ISO/IEC 9899:2011):
-
- 7.4.2.2 toupper関数 (p: 204)
- C99規格 (ISO/IEC 9899:1999):
-
- 7.4.2.2 toupper関数 (p: 185)
- C89/C90標準 (ISO/IEC 9899:1990):
-
- 4.3.2.2 toupper関数
関連項目
|
文字を小文字に変換する
(関数) |
|
|
(C95)
|
ワイド文字を大文字に変換する
(関数) |
|
C++ documentation
for
toupper
|
|