非常教程

C参考手册

字符串 | Strings

wcsnlen_s

在头文件<wchar.h>中定义

size_t wcslen(const wchar_t * str);

(1)

(自C95以来)

size_t wcsnlen_s(const wchar_t * str,size_t strsz);

(2)

(自C11以来)

1)返回宽字符串的长度,即在终止空宽字符之前的非空宽字符数。

2)与(1)相同,只是如果str是空指针,则函数返回零,如果strsz在第一个strsz宽字符中未找到空宽字符,则返回值为src所有边界检查的函数,wcsnlen_s只有__STDC_LIB_EXT1__在由实现定义,如果用户在包含之前定义__STDC_WANT_LIB_EXT1__为整数常量。1wchar.h

参数

str

-

指向要检查的以空字符结尾的宽字符串

strsz

-

最大数量的宽字符进行检查

返回值

1)以空字符结束的宽字符串的长度str

2)str成功时以空字符结尾的宽字符串的长度,如果str为空指针,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函数(p: 439)
    • K.3.9.2.4.1 wcsnlen_s函数(p: 646-647)
  • C99标准(ISO/IEC 9899:1999):
    • 7.24.4.6.1 wcslen函数(p:385)

另请参阅

strlenstrnlen_s(C11)

返回给定字符串的长度(函数)

| C ++文档wcslen |

C

C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。