Scroll to navigation

STRCAT(3) Руководство программиста Linux 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() добавляет строку src к строке dest, перезаписывая байт null ('\0') в конце dest и добавляет завершающий байт null. Строки не могут перекрываться, а в строке dest должно хватать свободного места для размещения объединённой строки.

Функция strncat() работает аналогичным образом, но

  • задействует не менее n первых байт строки src и
  • строка src может не завершаться байтом null, если в ней содержится n или более байт.

Как и strcat(), строка-результат в dest всегда заканчивается байтом null.

Если в src содержится n или более байт, то strncat() записывает n+1 байт в dest (n из src плюс завершающий байт null). Поэтому размер 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), string(3), strncpy(3), wcscat(3), wcsncat(3)

2012-05-10 GNU