Standardbibliothek-Header <cwchar>
Von cppreference.com
Dieser Header war ursprünglich Teil der C-Standardbibliothek als <wchar.h>.
Dieser Header ist Teil der Bibliotheken für nullterminierte weite und Mehrbyte-Zeichen-Strings. Er stellt auch einige C-Style I/O-Funktionen und Konvertierungen von C-Style Datum bereit.
Inhalt |
[bearbeiten] Makros
| implementierungsdefinierte Nullzeigerkonstante (macro constant) | |
| WEOF |
ein Nicht-Zeichenwert vom Typ std::wint_t, der zur Anzeige von Fehlern verwendet wird(Makro-Konstante) |
| WCHAR_MIN |
der kleinste gültige Wert von wchar_t (Makro-Konstante) |
| WCHAR_MAX |
der größte gültige Wert von wchar_t (Makro-Konstante) |
[bearbeiten] Typen
| Konvertierungsinformationen, die zum Iterieren über Multibyte-Zeichenstrings benötigt werden (Klasse) | |
| nicht vorzeichenbehafteter Ganzzahltyp, der vom sizeof-Operator zurückgegeben wird (typedef) | |
wint_t
|
Ganzzahliger Typ, der jedes gültige breite Zeichen und mindestens einen weiteren Wert speichern kann |
| Typ für Kalenderzeit (Klasse) |
[bearbeiten] Funktionen
Stringmanipulation | |
| kopiert eine breite Zeichenkette in eine andere (Funktion) | |
| kopiert eine bestimmte Anzahl breiter Zeichen von einer Zeichenkette in eine andere (Funktion) | |
| hängt eine Kopie einer breiten Zeichenkette an eine andere an (Funktion) | |
| hängt eine bestimmte Anzahl breiter Zeichen von einer breiten Zeichenkette an eine andere an (Funktion) | |
transformiert eine breite Zeichenkette so, dass wcscmp dasselbe Ergebnis wie wcscoll liefert(Funktion) | |
Stringuntersuchung | |
| gibt die Länge einer breiten Zeichenkette zurück (Funktion) | |
| vergleicht zwei breite Zeichenketten (Funktion) | |
| vergleicht eine bestimmte Anzahl von Zeichen aus zwei breiten Zeichenketten (Funktion) | |
| vergleicht zwei breite Zeichenketten gemäß der aktuellen Locale (Funktion) | |
| findet das erste Vorkommen eines breiten Zeichens in einer breiten Zeichenkette (Funktion) | |
| findet das letzte Vorkommen eines breiten Zeichens in einer breiten Zeichenkette (Funktion) | |
| gibt die Länge des maximalen Anfangssegments zurück, das nur von den breiten Zeichen, die in einer anderen breiten Zeichenkette gefunden wurden (Funktion) | |
| gibt die Länge des maximalen Anfangssegments zurück, das nur von den breiten Zeichen, die nicht in einer anderen breiten Zeichenkette gefunden wurden (Funktion) | |
| findet die erste Stelle irgendeines breiten Zeichens aus einer breiten Zeichenkette in einer anderen breiten Zeichenkette (Funktion) | |
| findet das erste Vorkommen einer breiten Zeichenkette innerhalb einer anderen breiten Zeichenkette (Funktion) | |
| findet das nächste Token in einer breiten Zeichenkette (Funktion) | |
Manipulation von breiten Zeichen-Arrays | |
| kopiert eine bestimmte Anzahl breiter Zeichen zwischen zwei nicht überlappenden Arrays (Funktion) | |
| kopiert eine bestimmte Anzahl breiter Zeichen zwischen zwei, möglicherweise überlappenden, Arrays (Funktion) | |
| vergleicht eine bestimmte Anzahl breiter Zeichen aus zwei Arrays (Funktion) | |
| findet das erste Vorkommen eines breiten Zeichens in einem breiten Zeichen-Array (Funktion) | |
| kopiert das gegebene breite Zeichen in jede Position eines breiten Zeichen-Arrays (Funktion) | |
Konvertierung von Mehrbyte-/weiten Zeichen | |
| prüft, ob das std::mbstate_t-Objekt den anfänglichen Shift-Zustand repräsentiert (Funktion) | |
| erweitert ein ein Byte breites schmales Zeichen zu einem Wide-Zeichen, falls möglich (Funktion) | |
| verengt ein Wide-Zeichen zu einem ein Byte breiten schmalen Zeichen, falls möglich (Funktion) | |
| gibt die Anzahl der Bytes im nächsten Multibyte-Zeichen zurück, gegeben den Zustand (Funktion) | |
| konvertiert das nächste Multibyte-Zeichen in ein Wide-Zeichen, gegeben den Zustand (Funktion) | |
| konvertiert ein Wide-Zeichen in seine Multibyte-Darstellung, gegeben den Zustand (Funktion) | |
| konvertiert einen schmalen Multibyte-Zeichenstring in einen Wide-String, gegeben den Zustand (Funktion) | |
| konvertiert einen Wide-String in einen schmalen Multibyte-Zeichenstring, gegeben den Zustand (Funktion) | |
Ein-/Ausgabe | |
| liest ein Weitzeichen aus einem Dateistream (Funktion) | |
| liest einen Weitzeichenstring aus einem Dateistream (Funktion) | |
| schreibt ein Weitzeichen in einen Dateistream (Funktion) | |
| schreibt einen Weitzeichenstring in einen Dateistream (Funktion) | |
| liest ein breites Zeichen von stdin (Funktion) | |
| schreibt ein breites Zeichen nach stdout (Funktion) | |
| gibt ein Weitzeichen zurück in einen Dateistream (Funktion) | |
| wechselt einen Dateistream zwischen Weitzeichen-E/A und Schmalzeichen-E/A (Funktion) | |
| liest formatierte breite Zeichen-Eingabe von stdin, einem Dateistream oder einem Puffer (Funktion) | |
| (C++11)(C++11)(C++11) |
liest formatierte breite Zeichen-Eingabe von stdin, einem Dateistream oder einem Puffer mit variabler Argumentenliste (Funktion) |
| druckt formatierte breite Zeichen-Ausgabe nach stdout, einem Dateistream oder einem Puffer (Funktion) | |
| druckt formatierte breite Zeichen-Ausgabe nach stdout, einem Dateistream oder einem Puffer mit variabler Argumentenliste (Funktion) | |
String-Konvertierungen | |
| konvertiert ein std::tm-Objekt in eine benutzerdefinierte Textdarstellung als breites Zeichen-String (Funktion) | |
| wandelt eine breite Zeichenkette in einen ganzzahligen Wert um (Funktion) | |
| wandelt eine breite Zeichenkette in einen vorzeichenlosen ganzzahligen Wert um (Funktion) | |
| wandelt eine breite Zeichenkette in einen Fließkommawert um (Funktion) | |
[bearbeiten] Hinweise
- NULL ist auch in den folgenden Headern definiert
- std::size_t ist auch in den folgenden Headern definiert
-
std::wint_tist auch in den folgenden Headern definiert - std::tm ist auch in den folgenden Headern definiert
[bearbeiten] Synopsis
namespace std { using size_t = /* see description */; // freestanding using mbstate_t = /* see description */; // freestanding using wint_t = /* see description */; // freestanding struct tm; int fwprintf(FILE* stream, const wchar_t* format, ...); int fwscanf(FILE* stream, const wchar_t* format, ...); int swprintf(wchar_t* s, size_t n, const wchar_t* format, ...); int swscanf(const wchar_t* s, const wchar_t* format, ...); int vfwprintf(FILE* stream, const wchar_t* format, va_list arg); int vfwscanf(FILE* stream, const wchar_t* format, va_list arg); int vswprintf(wchar_t* s, size_t n, const wchar_t* format, va_list arg); int vswscanf(const wchar_t* s, const wchar_t* format, va_list arg); int vwprintf(const wchar_t* format, va_list arg); int vwscanf(const wchar_t* format, va_list arg); int wprintf(const wchar_t* format, ...); int wscanf(const wchar_t* format, ...); wint_t fgetwc(FILE* stream); wchar_t* fgetws(wchar_t* s, int n, FILE* stream); wint_t fputwc(wchar_t c, FILE* stream); int fputws(const wchar_t* s, FILE* stream); int fwide(FILE* stream, int mode); wint_t getwc(FILE* stream); wint_t getwchar(); wint_t putwc(wchar_t c, FILE* stream); wint_t putwchar(wchar_t c); wint_t ungetwc(wint_t c, FILE* stream); double wcstod(const wchar_t* nptr, wchar_t** endptr); float wcstof(const wchar_t* nptr, wchar_t** endptr); long double wcstold(const wchar_t* nptr, wchar_t** endptr); long int wcstol(const wchar_t* nptr, wchar_t** endptr, int base); long long int wcstoll(const wchar_t* nptr, wchar_t** endptr, int base); unsigned long int wcstoul(const wchar_t* nptr, wchar_t** endptr, int base); unsigned long long int wcstoull(const wchar_t* nptr, wchar_t** endptr, int base); wchar_t* wcscpy(wchar_t* s1, const wchar_t* s2); // freestanding wchar_t* wcsncpy(wchar_t* s1, const wchar_t* s2, size_t n); // freestanding wchar_t* wmemcpy(wchar_t* s1, const wchar_t* s2, size_t n); // freestanding wchar_t* wmemmove(wchar_t* s1, const wchar_t* s2, size_t n); // freestanding wchar_t* wcscat(wchar_t* s1, const wchar_t* s2); // freestanding wchar_t* wcsncat(wchar_t* s1, const wchar_t* s2, size_t n); // freestanding int wcscmp(const wchar_t* s1, const wchar_t* s2); // freestanding int wcscoll(const wchar_t* s1, const wchar_t* s2); int wcsncmp(const wchar_t* s1, const wchar_t* s2, size_t n); // freestanding size_t wcsxfrm(wchar_t* s1, const wchar_t* s2, size_t n); int wmemcmp(const wchar_t* s1, const wchar_t* s2, size_t n); // freestanding const wchar_t* wcschr(const wchar_t* s, wchar_t c); // freestanding wchar_t* wcschr(wchar_t* s, wchar_t c); // freestanding size_t wcscspn(const wchar_t* s1, const wchar_t* s2); // freestanding const wchar_t* wcspbrk(const wchar_t* s1, const wchar_t* s2); // freestanding wchar_t* wcspbrk(wchar_t* s1, const wchar_t* s2); // freestanding const wchar_t* wcsrchr(const wchar_t* s, wchar_t c); // freestanding wchar_t* wcsrchr(wchar_t* s, wchar_t c); // freestanding size_t wcsspn(const wchar_t* s1, const wchar_t* s2); // freestanding const wchar_t* wcsstr(const wchar_t* s1, const wchar_t* s2); // freestanding wchar_t* wcsstr(wchar_t* s1, const wchar_t* s2); // freestanding wchar_t* wcstok(wchar_t* s1, const wchar_t* s2, wchar_t** ptr); // freestanding const wchar_t* wmemchr(const wchar_t* s, wchar_t c, size_t n); // freestanding wchar_t* wmemchr(wchar_t* s, wchar_t c, size_t n); // freestanding size_t wcslen(const wchar_t* s); // freestanding wchar_t* wmemset(wchar_t* s, wchar_t c, size_t n); // freestanding size_t wcsftime(wchar_t* s, size_t maxsize, const wchar_t* format, const tm* timeptr); wint_t btowc(int c); int wctob(wint_t c); // multibyte / wide string and character conversion functions int mbsinit(const mbstate_t* ps); size_t mbrlen(const char* s, size_t n, mbstate_t* ps); size_t mbrtowc(wchar_t* pwc, const char* s, size_t n, mbstate_t* ps); size_t wcrtomb(char* s, wchar_t wc, mbstate_t* ps); size_t mbsrtowcs(wchar_t* dst, const char** src, size_t len, mbstate_t* ps); size_t wcsrtombs(char* dst, const wchar_t** src, size_t len, mbstate_t* ps); } #define NULL /* see description */ // freestanding #define WCHAR_MAX /* see description */ // freestanding #define WCHAR_MIN /* see description */ // freestanding #define WEOF /* see description */ // freestanding
[bearbeiten] Defect Reports
Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 345 | C++98 | std::tm wurde in <cwchar> nicht bereitgestellt |
bereitgestellt |