wcslen, wcsnlen_s
Defined in header <wchar.h> |
||
|---|---|---|
size_t wcslen( const wchar_t *str ); |
(1) | (since C95) |
size_t wcsnlen_s(const wchar_t *str, size_t strsz); |
(2) | (since C11) |
1) Возвращает длину широкой строки, то есть количество не-нулевых широких символов, предшествующих завершающему нулевому широкому символу.
2) То же, что и (1), за исключением того, что функция возвращает ноль, если
str является указателем на null, и возвращает strsz, если нулевой широкий символ не был найден в первых strsz широких символах src. Как и во всех функциях с проверкой границ, wcslen_s гарантируется только в том случае, если __STDC_LIB_EXT1__ определено реализацией, и если пользователь определяет __STDC_WANT_LIB_EXT1__ как целую константу 1 перед включением <stdio.h>..Параметры
| str | - | указатель на завершаемую нулём широкую строку для проверки |
| strsz | - | максимальное количество широких символов для проверки |
Возвращаемое значение
1) Длина завершаемой нулём широкой строки
str.
2) Длина завершаемой нулём широкой строки
str при успехе, ноль, если str является указателем на null, strsz если нулевой широкий символ не был найден.Примечания
strnlen_s и wcsnlen_s являются единственными функциями с проверкой границ, которые не вызывают обработчик ограничений времени выполнения. Они являются чистыми утилитарными функциями, используемыми для предоставления ограниченной поддержки строк без завершения нулём.
Пример
#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);
}Вывод:
without null character: 50 with null character: 51
Ссылки
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.29.4.6.1 Функция wcslen (стр: 439)
- K.3.9.2.4.1 Функция wcsnlen_s (стр: 646-647)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.24.4.6.1 Функция wcslen (стр: 385)
См. также
|
(C11) |
возвращает длину заданной строки (функция) |
Документация C++ для wcslen |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/string/wide/wcslen