STRDUP
Section: Linux Programmer's Manual (3)
Updated: 2007-07-26
Index
JM Home Page
roff page
名前
strdup, strndup, strdupa, strndupa - 文字列を複製する
書式
#include <string.h>
char *strdup(const char *s);
char *strndup(const char *s, size_t n);
char *strdupa(const char *s);
char *strndupa(const char *s, size_t n);
glibc 向けの機能検査マクロの要件
(feature_test_macros(7)
参照):
strdup():
_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE >= 500
strndup(),
strdupa(),
strndupa():
_GNU_SOURCE
説明
strdup()
関数は、文字列 sの複製である
新しい文字列へのポインタを返す。
新しい文字列のためのメモリは
malloc(3)
で得ている。
そして、
free(3)
で解放することができる。
strndup()
関数は同様であるが、最大で n 文字だけを複製する。
s が n よりも長い場合、n 文字だけが複製され、
終端の NULL バイト ('\0') が追加される。
strdupa()
と
strndupa()
関数は同様であるが、
バッファを割り当てるのに alloca(3) を用いる。
これらの関数は GNU GCC を用いた場合にのみ有効で、
alloca(3) で記述されているのと同様の制限を受ける。
返り値
strdup()
関数は複製された文字列へのポインタ、または
十分なメモリが確保できなかった場合にはNULLを返す。
エラー
- ENOMEM
-
複製された文字列を割り当てる十分なメモリが確保できなかった。
準拠
strdup()
は SVr4, 4.3BSD, POSIX.1-2001 準拠である。
strndup(),
strdupa(),
strndupa()
は GNU 拡張である。
関連項目
alloca(3),
calloc(3),
free(3),
malloc(3),
realloc(3),
wcsdup(3)
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- エラー
-
- 準拠
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 04:32:05 GMT, November 19, 2007