Scroll to navigation

STRCAT(3) Linux Programmer's Manual STRCAT(3)

名前

strcat, strncat - 二つの文字列を連結する

書式

#include <string.h>

char *strcat(char *dest, const char *src);

char *strncat(char *dest, const char *src, size_t n);

説明

strcat() 関数は、dest 文字列の後に src 文字列を付け加える。 その際に、dest の最後にあるヌルバイト ('\0') は上書きされ、 新たに生成された文字列の末尾に終端のヌルバイトが付与される。 二つの文字列 srcdest は重なってはならない。 また、文字列 dest は、連結後の結果を格納するのに 十分な大きさでなければならない。

strncat() も同様だが、以下の点が異なる。

  • src のうち最大 n 文字が使用される。
  • srcn 文字以上の場合、 src はヌル終端されている必要はない。

strcat() と同じく、dest に格納される結果の文字列は常にヌル終端される。

srcn 文字以上の場合、 strncat() は destn+1 文字を書き込む (src からの n 文字と終端のヌルバイトである)。 したがって、dest の大きさは最低でも strlen(dest)+n+1 でなければならない。

strncat() の簡単な実装は以下のような感じであろう:

char*
strncat(char *dest, const char *src, size_t n)
{

size_t dest_len = strlen(dest);
size_t i;
for (i = 0 ; i < n && src[i] != '\0' ; i++)
dest[dest_len + i] = src[i];
dest[dest_len + i] = '\0';
return dest; }

返り値

strcat() 関数と strncat() 関数は、結果としてできる文字列 dest へのポインタを返す。

準拠

SVr4, 4.3BSD, C89, C99.

関連項目

bcopy(3), memccpy(3), memcpy(3), strcpy(3), strncpy(3), wcscat(3), wcsncat(3)

2008-06-13 GNU