strndup
|
ヘッダーで定義
<string.h>
|
||
|
char
*
strndup
(
const
char
*
str,
size_t
size
)
;
|
(動的メモリ TR) | |
str
が指す文字列から最大で
size
バイトのコピーを含む、null終端バイト文字列へのポインタを返します。
最初の
size
バイト内にnull終端文字が見つからない場合、複製された文字列に追加されます。
返されたポインタはメモリリークを避けるために free に渡されなければなりません。
エラーが発生した場合、ヌルポインタが返され、 errno が設定される可能性があります。
Dynamic Memory TRのすべての関数と同様に、
strndup
は、実装によって
__STDC_ALLOC_LIB__
が定義されており、かつユーザーが
__STDC_WANT_LIB_EXT2__
を整数定数
1
に設定した場合にのみ利用可能であることが保証されています。
string.h
をインクルードする前に設定する必要があります。
目次 |
パラメータ
| str | - | 複製するヌル終端バイト文字列へのポインタ |
| size | - |
str
からコピーする最大バイト数
|
戻り値
新しく割り当てられた文字列へのポインタ、またはエラーが発生した場合はヌルポインタ。
注記
この関数は、 POSIX strndup と同一ですが、エラー発生時に errno を設定することが許可されている(必須ではない)点が異なります。
例
出力:
strndup("String", 2) == St
関連項目
|
(dynamic memory TR)
|
文字列のコピーを割り当てる
(関数) |
|
(C11)
|
ある文字列から別の文字列へ指定された文字数をコピーする
(関数) |
|
メモリを割り当てる
(関数) |