Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Jede der to
Funktionen und das zugehörige Makro konvertiert, falls vorhanden, ein einzelnes Zeichen in ein anderes Zeichen.
__toascii
tolower
, _tolower
towlower
toupper
, _toupper
towupper
Hinweise
Die to
Funktionen und Makrokonvertierungen sind wie folgt:
Routine | Makro | Beschreibung |
---|---|---|
__toascii |
__toascii |
Konvertiert c in ASCII-Zeichen |
tolower |
tolower |
Konvertiert c gegebenenfalls in Kleinbuchstaben |
_tolower |
_tolower |
Konvertiert c in Kleinbuchstaben |
towlower |
Keine | Konvertiert c in entsprechende Breitzeichen-Kleinbuchstaben |
toupper |
toupper |
Konvertiert c gegebenenfalls in Großbuchstaben |
_toupper |
_toupper |
Konvertiert c in Großbuchstaben |
towupper |
Keine | Konvertiert c in entsprechende Breitzeichen-Kleinbuchstaben |
Wenn Sie die Funktionsversionen der Routinen verwenden möchten, die to
auch als Makros definiert sind, entfernen Sie entweder die Makrodefinitionen mit #undef
Direktiven, oder schließen Sie sie nicht ein CTYPE.H
. Wenn Sie die Compileroption /Za wählen, verwendet der Compiler die Funktionsversion von toupper
oder tolower
. Deklarationen und toupper
tolower
Funktionen befinden sich in STDLIB.H
.
Die Routine __toascii
setzt alle außer die unteren 7 Bits von c
auf 0, damit der konvertierte Wert ein Zeichen im ASCII-Zeichensatz darstellt. Wenn c
bereits ein ASCII-Zeichen darstellt, bleibt c
unverändert.
Die Routinen tolower
und toupper
:
- Hängen von der Kategorie
LC_CTYPE
des aktuellen Gebietsschemas ab (tolower
ruftisupper
auf undtoupper
ruftislower
auf). - Konvertieren
c
, wennc
einen konvertierbaren Buchstaben des entsprechenden Falls im aktuellen Gebietsschema darstellt und der entgegengesetzte Fall für dieses Gebietsschema vorhanden ist. Andernfalls bleibtc
unverändert.
Die Routinen _tolower
und _toupper
:
- Sind vom Gebietsschema unabhängige, viel schnellere Versionen von
tolower
und . - Können nur verwendet werden, wenn isascii(
c
) und entweder isupper(c
) oder islower(c
) ungleich null sind. - Sie haben nicht definierte Ergebnisse, wenn
c
es sich nicht um einen ASCII-Buchstaben des entsprechenden Falls für die Konvertierung handelt.
Die Funktionen towlower
und towupper
geben nur eine konvertierte Kopie von c
zurück, wenn beide der folgenden Bedingungen ungleich null sind. Andernfalls bleibt c
unverändert.
c
ist ein Breitzeichen des entsprechenden Falls (d.h. für dasiswupper
oder iswlower ungleich null ist).- Es gibt ein entsprechendes breites Zeichen des Zielfalls (d. a. für die
iswlower
bzw . die iswupper nicht zero 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>
#include <stdio.h>
char msg[] = "Some of THESE letters are Uppercase.";
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 );
}
}
Some of THESE letters are Uppercase.
sOME OF these LETTERS ARE uPPERCASE.