to 函式
任何 to 函式及其關聯的巨集中,如果有的話,轉換單一字元至另一個字元。
|
備註
to 函式和巨集轉換如下。
常式 |
巨集 |
說明 |
---|---|---|
__toascii |
__toascii |
將 c 轉換成 ASCII 字元 |
tolower |
tolower |
將 c 轉換為小寫,如果適當 |
_tolower |
_tolower |
將 c 轉換為小寫 |
towlower |
無 |
將 c 轉換為對應的寬字元小寫字母 |
toupper |
toupper |
將 c 轉換為大寫,如果適當 |
_toupper |
_toupper |
將 c 轉換成大寫 |
towupper |
無 |
轉換 c 為對應的寬字元大寫字母。 |
若要使用也定義為巨集的 to 常式的函式版本,以 #undef 指示詞移除巨集定義或不要包含 CTYPE.H。 如果您使用 /Za 編譯器選項,編譯器會使用 toupper 或 tolower函式版本。 toupper 和 tolower 函式的宣告於 STDLIB.H。
__toascii 常式設定所有,除了低位 7 位元 c 為 0,因此,轉換的值表示 ASCII 字元集的字元。 如果 c 已經表示 ASCII 字元, c 不會變更。
tolower 和 toupper 常式:
根據目前地區設定的 LC_CTYPE 分類 (tolower 呼叫 isupper ,而 toupper 呼叫 islower)。
如果 c 在目前地區設定代表適當大小寫而在該地區存在相反情況,請轉換 c 。 否則, c 不會變更。
_tolower 和 _toupper 常式:
tolower 以及toupper 的更快速的版本是與地區設定無關的。
只有在 isascii(c) 和 isupper(c) 或 islower(c) 分別為非零值時可以使用。
如果 c 不是能適當轉換的 ASCII 字母,會導致未定義的結果。
towlower 和 towupper 函式會傳回 c 的已轉換拷貝,若且唯若以下兩個情況為非零值。 否則, c 不會變更。
c 是適當大小寫的寬字元 (也就是 iswupper 或 iswlower, 分別為非零值)。
具有對應目標大小寫的寬字元 (也就是 iswlower 或 iswupper, 分別為非零值)。
範例
// crt_toupper.c
/* This program uses toupper and tolower to
* analyze all characters between 0x0 and 0x7F. It also
* applies _toupper and _tolower to any code in this
* range for which these functions make sense.
*/
#include <ctype.h>
#include <string.h>
char msg[] = "Some of THESE letters are Capitals.";
char *p;
int main( void )
{
printf( "%s\n", msg );
/* Reverse case of message. */
for( p = msg; p < msg + strlen( msg ); p++ )
{
if( islower( *p ) )
putchar( _toupper( *p ) );
else if( isupper( *p ) )
putchar( _tolower( *p ) );
else
putchar( *p );
}
}