std::char_traits<char>::length, std::char_traits<wchar_t>::length, std::char_traits<char8_t>::length, std::char_traits<char16_t>::length, std::char_traits<char32_t>::length
From cppreference.com
< cpp | string | char traits
| static std::size_t length( const char_type* s ); |
(C++17 以降 constexpr) | |
sが指す文字シーケンスの長さを返します。これは、終端のヌル文字 (char_type()) の位置です。
X::length に対する文字トレイトの一般的な要件については、CharTraits を参照してください。
目次 |
[編集] パラメータ
| s | - | 長さを返す文字シーケンスへのポインタ |
[編集] 戻り値
sが指す文字シーケンスの長さ。
[編集] 複雑さ
線形。
[編集] 例
このコードを実行
#include <iomanip> #include <iostream> #include <string> void print(const char* str) { std::cout << std::quoted(str) << " has length = " << std::char_traits<char>::length(str) << '\n'; } int main() { print("foo"); std::string s{"booo"}; print(s.c_str()); }
出力
"foo" has length = 3 "booo" has length = 4