INTRODUCTION:
strcpy est une fonction de bibliothèque standard C qui copie une chaîne d'un emplacement à un autre. Il est défini dans le fichier d'en-tête string.h.
La fonction prend deux arguments : un tampon de destination où la chaîne copiée sera stockée et une chaîne source qui sera copiée. La fonction copie l'intégralité de la chaîne source, y compris le terminateur nul, dans le tampon de destination.
diffusion ascendante
Le C strcpy() fonction copies le contenu d'une chaîne à une autre. Le contenu de la chaîne de destination sera remplacé avec celui de la chaîne source par la fonction strcpy(). Il est défini à l'intérieur En tête de fichier.
Syntaxe:
char* strcpy(char* destination, const char* source);>
Paramètres: Cette méthode accepte les paramètres suivants :
- destination : Pointeur vers le tableau de caractères de destination où le contenu doit être copié. source : pointeur vers le tableau de caractères source qui doit être copié.
Valeur de retour : UN pointeur vers la destination La chaîne est renvoyée après que la fonction strcpy() copie la chaîne source.
Exemple 1
C
// C program to illustrate> // strcpy() function in C> #include> #include> int> main()> {> >char> str1[] =>'Hello World!'>;> >char> str2[] =>'GfG'>;> >char> str3[40];> >char> str4[40];> >char> str5[] =>'GeeksForGeeks'>;> >strcpy>(str2, str1);> >strcpy>(str3,>'Copy successful'>);> >strcpy>(str4, str5);> >printf>(>'str1: %s
str2: %s
str3: %s
str4:%s
'>, str1,> >str2, str3, str4);> >return> 0;> }> |
>
>
formater une date en javaSortir
str1: Hello World! str2: Hello World! str3: Copy successful str4:GeeksForGeeks>
EXEMPLE 2 :
C
#include> #include> int> main()> {> >char> str1[20] =>'Hello'>;> >char> str2[20];> >strcpy>(str2, str1);> >printf>(>'str1: %s
'>, str1);> >printf>(>'str2: %s
'>, str2);> >return> 0;> }> |
Excel supprimer le premier caractère
>
>Sortir
str1: Hello str2: Hello>
Les points importants
- À l'aide de cette fonction, vous pouvez copier la chaîne entière dans la chaîne de destination. Les chaînes source ne sont pas ajoutées aux chaînes de destination. En conséquence, le contenu de la chaîne de destination est remplacé par le contenu de la chaîne source.
- Les chaînes source ne sont pas affectées. Après la copie, la chaîne source reste la même.
- Pour utiliser strcpy(), le chaîne.h Le fichier d’en-tête doit être inclus.
- Dans le cas d'une chaîne source plus longue (Character Array), strcpy() effectue un comportement non défini.
AVANTAGES ET INCONVÉNIENTS:
Certains avantages de l’utilisation de strcpy en C incluent :
Il s'agit d'une fonction simple et facile à utiliser qui peut être utilisée pour copier des chaînes rapidement et facilement.
Il s'agit d'une fonction de bibliothèque standard, elle est donc largement disponible et portable sur différentes plates-formes et compilateurs.
C'est relativement rapide, car il ne nécessite qu'un seul passage dans la chaîne source pour la copier.
Cependant, il y a aussi quelques inconvénients à prendre en compte lors de l'utilisation de strcpy :
Il ne vérifie pas la taille du tampon de destination, il est donc possible d'écraser le tampon et de provoquer un débordement de tampon si la chaîne source est plus longue que le tampon de destination. Cela peut entraîner des failles de sécurité et d’autres problèmes.
Il ne gère pas correctement les chaînes qui se chevauchent. Si les chaînes source et destination se chevauchent, le comportement de strcpy n'est pas défini.
Il ne gère pas correctement les caractères nuls dans la chaîne source. Si la chaîne source contient un caractère nul, strcpy arrêtera la copie à ce stade, même s'il y a des caractères supplémentaires dans la chaîne source.