to-Funktionen
Jedes der to des zugeordneten Funktionen und Makros konvertiert, wenn ein einzelnes Zeichen an ein anderes Zeichen.
|
Hinweise
Die to-Funktionen und Makros konvertierungen lauten wie folgt:
Routine |
Makro |
Beschreibung |
---|---|---|
__toascii |
__toascii |
Konvertiert c auf ASCII-Zeichen |
tolower |
tolower |
Konvertiert c ggf. in Kleinbuchstaben |
_tolower |
_tolower |
Konvertiert c in Kleinbuchstaben |
towlower |
None |
Konvertiert c Breitzeichen in den entsprechenden Kleinbuchstaben |
toupper |
toupper |
Konvertiert c ggf. in Großbuchstaben |
_toupper |
_toupper |
Konvertiert c in Großbuchstaben |
towupper |
None |
Konvertiert Großbuchstaben Breitzeichen in den entsprechenden c |
Um die Funktion der Versionen to Routinen zu verwenden, die auch als Makros definiert sind, entfernen Sie die Makrodefinitionen mit #undef-Direktive oder schließen Sie nicht CTYPE.H.Wenn Sie die /Za- verwenden, verwendet der Compiler die Funktion Version von toupper oder tolower.Deklarationen der toupper und tolower-Funktionen sind in STDLIB.H.
Die __toascii bis auf die Routine legt c niedrigstwertigen Bits von 7 auf 0 fest, damit der konvertierte Wert ein Zeichen im ASCII-Zeichensatz darstellt.Wenn c bereits ein ASCII-Zeichen darstellt, ist c unverändert.
Die tolower und toupper Routinen:
Stellen Sie aus der LC_CTYPE Kategorie des aktuellen Gebietsschemas isupper rufttolower (abhängig toupper ) an und ruft isloweran.
Konvertieren Sie c , wenn ein c konvertierbaren Buchstaben des entsprechenden Falls im aktuellen Gebietsschema darstellt und der entgegengesetzte Fall für das Gebietsschema vorhanden ist.Andernfalls ist c unverändert.
Die _tolower und _toupper Routinen:
Sind gebietsschemaunabhängige, viel höhere Versionen von tolower und toupper.
Kann nur verwendet werden, wenn (isasciic**)** und entweder (isupperc**)** oder (islowercjeweils**)**ungleich 0 (null) sind.
Haben die Ergebnisse nicht definiert, wenn kein c ASCII-Buchstabe eines entsprechenden Arguments zur Konvertierung ist.
Die towlower und towupper-Funktionen geben eine konvertierte Kopie c wenn zurück und nur dann, wenn die beiden folgenden Bedingungen nicht 0 (null) sind.Andernfalls ist c unverändert.
c ist ein Breitzeichen des entsprechenden Groß-/Kleinschreibung (d. h. für die iswupper jeweils iswlower. oder ungleich 0 ist).
Es gibt ein entsprechendes Breitzeichen des Ziels falles (d. h. für die iswlower jeweils iswupper. oder ungleich 0 ist).
Beispiel
// 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 );
}
}