wcslen, wcsnlen_s
From cppreference.com
| ヘッダー <wchar.h> で定義 |
||
| size_t wcslen( const wchar_t *str ); |
(1) | (C95 以降) |
| (2) | (C11 以降) | |
1) ワイド文字列の長さを返します。つまり、終端のヌルワイド文字の前に来る非ヌルワイド文字の数です。
2) (1) と同じですが、
str がヌルポインタの場合はゼロを返し、src の最初の strsz ワイド文字内にヌルワイド文字が見つからなかった場合は strsz を返します。- すべての境界チェックされた関数と同様に、
wcslen_sは、実装によって __STDC_LIB_EXT1__ が定義されており、ユーザーが <stdio.h> をインクルードする前に __STDC_WANT_LIB_EXT1__ を整数定数 1 に定義した場合にのみ利用できることが保証されます。
目次 |
[編集] パラメータ
| str | - | 検査するヌル終端ワイド文字列へのポインタ |
| strsz | - | 検査するワイド文字の最大数 |
[編集] 戻り値
1) ヌル終端ワイド文字列
str の長さ。2) 成功した場合はヌル終端ワイド文字列
str の長さ、str がヌルポインタの場合はゼロ、ヌルワイド文字が見つからなかった場合は strsz。[編集] 備考
strnlen_s と wcsnlen_s は、ランタイム制約ハンドラを呼び出さない唯一の境界チェックされた関数です。これらは、ヌル終端されていない文字列の限られたサポートを提供するために使用される純粋なユーティリティ関数です。
[編集] 例
このコードを実行
出力
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)
[編集] 関連項目
| (C11) |
与えられた文字列の長さを返す (関数) |
| C++ ドキュメント ( wcslen )
| |