STRCPY |
Copie de chaine |
---|---|
Langage C | string.h |
Syntaxe
char *strcpy(const char *dest,const char *source); |
Paramètres
Nom | Description |
---|---|
dest | Ce paramètre permet d'indiquer la chaîne de caractères ASCIZ recevant le contenu. |
source | Ce paramètre permet d'indiquer la chaîne de caractères ASCIZ à copier dans dest. |
Retour
Valeur | Description |
---|---|
chaîne de caractères | Ces valeurs permettent d'indiquer le résultat de la copie, soit un pointeur sur la destination. |
Description
Cette fonction effectue la copie d'une chaîne de caractères dans une autre chaîne de caractères.
Algorithme
MODULE STRCPY(Ref dest, Ref src) i ← 0 * Copier chaque caractère de src dans dest BOUCLE TANT QUE src[i] ≠ '\0' dest[i] ← src[i] i ← i + 1 FIN BOUCLE TANT QUE * Ajouter le caractère nul de fin dans dest dest[i] ← '\0' * Retourner un pointeur vers dest RETOURNE dest |
Remarques
- ATTENTION ! Le caractère ASCII NUL est également copié à la fin de la chaîne de caractères, car la fonction se base sur ce caractère afin de connaître la fin de la chaîne de caractères. Ainsi, il faut prévoir un caractère de plus lorsque vous effectuez une copie afin de ne pas provoquer de corruption.
- La plupart des compilateurs de langages C ne font aucune vérification tant qu'à savoir si le tampon recevant le résultat à copier est assez grand pour recevoir toutes les données. Il faudra donc s'assurer avec une fonction strlen ou un mot réservé sizeof par exemple, que vous disposez d'assez d'espace pour effectuer cette opération sans risquer de provoquer de la corruption de mémoire. Par contre, lors de l'exécution du programme, les systèmes d'exploitation modernes font eux-mêmes des vérifications de débordement de mémoire, il se pourrait que vous receviez une erreur à ce niveau plutôt que par le compilateur.
- Il faut éviter autant que possible que les deux chaînes de caractères se chevauchent, car la réaction peut varier fortement d'un code machine à un autre.
Exemple
Voici quelques exemples typiques de l'utilisation de cette fonction :
Essayer maintenant !
on obtiendra le résultat suivant :
Gladir.comVoir également
Langage de programmation - C - Référence de procédures et fonctions - strcat
Langage de programmation - C++ - Référence de procédures et fonctions - strcpy
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 734.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 255.
Dernière mise à jour : Mardi, le 28 juillet 2015