Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
FORUM LINUX FAQ LINUX TUTORIELS LINUX LIVRES LINUX LINUX TV UNIX GTK+ Qt APACHE

STRCPY

Section: Manuel du programmeur Linux (3)
Updated: 21 juillet 2003
Index


NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
BOGUES
CONFORMITÉ
VOIR AUSSI
TRADUCTION

NOM

strcpy, strncpy - Copier une chaîne.

SYNOPSIS

#include <string.h>

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

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

DESCRIPTION

La fonction strcpy() copie la chaîne pointée par src (y compris le caractère `\0' final) dans la chaîne pointée par dest. Les deux chaînes ne doivent pas se chevaucher. La chaîne dest doit être assez grande pour accueillir la copie.
La fonction strncpy() est identique, sauf que seuls les n premiers octets de src sont copiés. Ainsi, s'il n'y a pas de caractère nul dans les n premiers octets de src, la chaîne résultante ne disposera de caractère nul final.
Dans le cas où la longueur src est inférieure à n, la fin de dest sera remplie avec des caractères nuls.

VALEUR RENVOYÉE

Les fonctions strcpy() et strncpy() renvoient un pointeur sur la chaîne destination dest.

BOGUES

Si la chaîne destination de strcpy() n'est pas assez grande (c'est à dire si le programmeur est stupide ou paresseux et n'a pas verifié la taille avant la copie) tout peut arriver ! Le débordement de chaîne de caractères de longueur fixée est l'une des techniques préférées des pirates. Les caractères en excès peuvent en effet déborder dans une zone de code ou de pile, et être interprétés comme des instructions, qui seront exécutées avec l'UID du programme. Il s'agit d'un moyen classique d'obtenir un accès `root' avec les programmes Set-UID système.

CONFORMITÉ

SVID 3, POSIX, BSD 4.3, ISO 9899

VOIR AUSSI

bcopy(3), memccpy(3), memcpy(3), memmove(3)

TRADUCTION

Christophe Blaess, 1996-2003.
Responsable bénévole de la rubrique Linux Professionnel : Olivier Van Hoof - Contacter par EMail :
Vos questions techniques : forum d'entraide Linux Professionnel - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.