Namensräume
Varianten
Aktionen

wcslen, wcsnlen_s

Von cppreference.com
< c‎ | string‎ | wide
 
 
 
 
Definiert in Header <wchar.h>
size_t wcslen( const wchar_t *str );
(1) (seit C95)
size_t wcsnlen_s(const wchar_t *str, size_t strsz);
(2) (seit C11)
1) Gibt die Länge eines Wide-Strings zurück, d.h. die Anzahl der Nicht-Null-Wide-Zeichen, die dem abschließenden Null-Wide-Zeichen vorausgehen.
2) Wie (1), außer dass die Funktion Null zurückgibt, wenn str ein Null-Zeiger ist, und strsz zurückgibt, wenn das Null-Wide-Zeichen nicht in den ersten strsz Wide-Zeichen von src gefunden wurde.
Wie bei allen grenzüberprüften Funktionen ist garantiert, dass wcslen_s nur dann verfügbar ist, wenn __STDC_LIB_EXT1__ von der Implementierung definiert ist und wenn der Benutzer __STDC_WANT_LIB_EXT1__ vor dem Einbinden von <stdio.h> auf die Ganzzahlkonstante 1 definiert.

Inhalt

[edit] Parameter

str - Zeiger auf den nullterminierten Wide-String, der untersucht werden soll
strsz - maximale Anzahl von zu untersuchenden Wide-Zeichen

[edit] Rückgabewert

1) Die Länge des nullterminierten Wide-Strings str.
2) Die Länge des nullterminierten Wide-Strings str bei Erfolg, Null, wenn str ein Null-Zeiger ist, strsz, wenn das Null-Wide-Zeichen nicht gefunden wurde.

[edit] Hinweise

strnlen_s und wcsnlen_s sind die einzigen grenzüberprüften Funktionen, die den Laufzeit-Constraints-Handler nicht aufrufen. Sie sind reine Hilfsfunktionen, die zur begrenzten Unterstützung von nicht nullterminierten Strings verwendet werden.

[edit] Beispiel

#include <wchar.h>
#include <stdio.h>
 
int main(void)
{
    wchar_t str[] = L"How many wide characters does this string contain?";
 
    printf("without null character: %zu\n", wcslen(str));
    printf("with null character: %zu\n", sizeof str / sizeof *str);
}

Ausgabe

without null character: 50
with null character: 51

[edit] Referenzen

  • C11-Standard (ISO/IEC 9899:2011)
  • 7.29.4.6.1 Die Funktion wcslen (S. 439)
  • K.3.9.2.4.1 Die Funktion wcsnlen_s (S. 646-647)
  • C99-Standard (ISO/IEC 9899:1999)
  • 7.24.4.6.1 Die Funktion wcslen (S. 385)

[edit] Siehe auch

gibt die Länge eines gegebenen Strings zurück
(Funktion) [bearbeiten]
C++ Dokumentation für wcslen