STRCAT(3)

NOM
strcat, strncat - Concaténer deux chaînes

SYNOPSIS
#include <string.h>

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

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

DESCRIPTION
La fonction strcat() ajoute la chaîne src à la fin de la chaîne dest en écrasant le caractère nul (« \0 ») à la fin de dest, puis en ajoutant un nouveau caractère nul final. Les chaînes ne doivent pas se chevaucher, et la chaîne dest doit être assez grande pour accueillir le résultat.

La fonction strncat() est identique, à la différence que

*   elle ne prend en compte que les n premiers caractères de src ; et

*   src n'a pas besoin d'octet nul final si elle contient n caractères ou plus.

Comme pour strcat(), la chaîne résultante dans dest est toujours terminée par un caractère nul. Si src contient n caractères ou plus, strncat() écrit n+1 caractères dans dest (n caractères de src plus l'octet nul final). Aussi, la taille de dest doit être au moins strlen(dest)+n+1.

Une implémentation simple de strncat() pourrait être :
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;
}

VALEUR RENVOYÉE
Les fonctions strcat() et strncat() renvoient un pointeur sur la chaîne résultat dest.

CONFORMITÉ
SVr4, BSD 4.3, C89, C99.

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

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 9 novembre 1996 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 strcat ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.