Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Jede der to Funktionen und das zugehörige Makro konvertiert, falls vorhanden, ein einzelnes Zeichen in ein anderes Zeichen.
__toascii
tolower, _tolowertowlower
toupper, _touppertowupper
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_CTYPEdes aktuellen Gebietsschemas ab (tolowerruftisupperauf undtoupperruftislowerauf). - Konvertieren
c, wennceinen konvertierbaren Buchstaben des entsprechenden Falls im aktuellen Gebietsschema darstellt und der entgegengesetzte Fall für dieses Gebietsschema vorhanden ist. Andernfalls bleibtcunverändert.
Die Routinen _tolower und _toupper:
- Sind vom Gebietsschema unabhängige, viel schnellere Versionen von
tolowerund . - Können nur verwendet werden, wenn isascii(
c) und entweder isupper(c) oder islower(c) ungleich null sind. - Sie haben nicht definierte Ergebnisse, wenn
ces 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.
cist ein Breitzeichen des entsprechenden Falls (d.h. für dasiswupperoder iswlower ungleich null ist).- Es gibt ein entsprechendes breites Zeichen des Zielfalls (d. a. für die
iswlowerbzw . 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.