strcat

Autres langues

Langue: fr

Version: 15 juin 2007 (mandriva - 01/05/08)

Autres sections - même nom

Section: 3 (Bibliothèques de fonctions)

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 utilise au plus les n premiers caractères de src ; et
*
src n'a pas besoin de caractère nul final si elle contient n caractères ou plus.

Comme avec 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, strcat() écrit n+1 caractères dans dest (n de src plus le caractère 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);
     int 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 27 novembre 2007.

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.