公共靜態成員函式
<string>

std::char_traits::length

static size_t length (const char_type* s);
獲取空終止字串的長度
返回以空字元結尾的字元序列s的長度。

所有字元特性型別實現的行為應是返回第一個字元的位置,當與member eq比較時,其返回falsecharT().

此函式等效於strlen(對於char)和wcslen(對於wchar_t).

引數

s
指向以空字元結尾的字元序列的指標。
成員型別char_type字元型別(即,char_traits 中的類模板引數)。

返回值

返回s的長度。

size_t 是一個無符號整數型別。

示例

1
2
3
4
5
6
7
8
9
10
11
12
// char_traits::length
#include <iostream>   // std::cout
#include <string>     // std::char_traits

int main ()
{
  const char * foo = "String literal";
  std::cout << "foo has a length of ";
  std::cout << std::char_traits<char>::length(foo);
  std::cout << " characters.\n";
  return 0;
}

輸出
foo has a length of 14 characters.


複雜度

與返回的值呈線性關係。

異常安全

如果s指向以空字元結尾的字元序列,則此成員函式在任何標準特化中都不會引發異常(無丟擲保證)。
否則,將導致未定義行為

另見