Strncpy en c

Strncpy en c

Strncpy est également connu sous le nom de fonction de copie de chaîne. C'est une fonction cruciale qui est offerte par la bibliothèque de chaîne C du langage C. Strncpy est chargé de copier un morceau du contenu d'une chaîne dans un autre.

strncpy (string_a, string_b, 6) copiera les 6 premiers caractères de String "string_b" sur la chaîne "string_a". String_a est la chaîne à laquelle le contenu de la chaîne est copié. Tandis que String_b est celui qui sera utilisé pour récupérer les 6 premiers caractères de la chaîne ou la chaîne à partir desquelles les 6 premiers caractères doivent être copiés.

Dans le cas où la longueur de la chaîne (à partir de laquelle la partie de la chaîne sera copiée est inférieure à la chaîne à laquelle la chaîne sera copiée), alors il ne copie pas la valeur complète de la chaîne sur la chaîne de destination.

Syntaxe

La syntaxe à appeler strncpy () La fonction est:

Dans la syntaxe ci-dessus, «Char * dest indique la destination à laquelle la chaîne doit être stockée. Le deuxième paramètre "const char * src » est une norme de C qui spécifie que le SRC est un pointeur de caractère, et dans le troisième paramètre, nous donnons la taille à notre fonction pour définir le nombre de caractères de la chaîne à copier. Le deuxième paramètre ne peut pas être modifié, c'est pourquoi il est constant. Dans cette fonction, nous stockons une chaîne dans notre paramètre source et la copie dans n'importe quelle destination représentée comme «dest». Ensuite, donnez la taille de notre variable de destination afin que la fonction copie le même nombre de caractères de notre chaîne x. Nous pouvons également passer null au paramètre source.

Exemple 1:

Dans cet exemple, nous avons déclaré des tableaux à deux caractères qui sont X et Y en utilisant un tableau de taille 20 pour «X» et 5 pour «Y». Nous avons stocké la chaîne «Hello World» dans notre variable X qui est notre variable source.

Après avoir déclaré nos réseaux de personnages, nous appellerons notre strncpy fonction pour copier notre chaîne souhaitée à l'autre. Dans strncpy, Nous avons passé à la fois la destination des tableaux ainsi que le tableau source ainsi que la taille à laquelle la chaîne est copiée.

Dans le code ci-dessus, Y est notre chaîne de caractères de destination dont nous avons discuté plus tôt dans l'introduction. Cette fonction a trois paramètres: source, destination et longueur. Notre objectif principal est de copier la valeur de chaîne que nous avons attribuée à notre tableau source «X» dans notre tableau de destination «Y». Nous avons donné la longueur de la variable Y comme troisième paramètre afin qu'il copie le même nombre de caractères que celui de la longueur de Y. En utilisant le printf () instruction, nous imprimerons le tableau copié comme sortie où% s est utilisé pour imprimer la chaîne du premier caractère au caractère «\ 0» nul et «y» est le tableau résultant qui doit être imprimé.

Notre code donnera la sortie suivante une fois qu'il sera exécuté. Comme nous pouvons le voir dans notre sortie, il n'a pas copié la phrase entière parce que nous lui avons donné la longueur de Y qui n'était que 5, donc elle n'a copié que 5 caractères de la chaîne.

Exemple n ° 2:

Dans l'exemple suivant, nous avons d'abord initialisé nos tableaux de char nommés «A» et «B» à une taille fixe de 6. Après initialisation, nous avons transmis nos tableaux au strncpy fonction avec la longueur de la chaîne à laquelle il sera copié.

Quand strncpy copie le contenu de la source à la destination, il copie la chaîne sans terminer le caractère nul. Ici, nous spécifions la taille du paramètre B. La chaîne entière sera copiée sur «B». Strncpy N'ajoute jamais un caractère \ 0 ou nul à la fin lorsque la taille de la source est égale à la taille de la destination, nous devons donc ajouter manuellement le caractère \ 0 ou nul à la fin de notre caractère «B».

Si nous jetons un coup d'œil à notre sortie, nous avons copié notre valeur de chaîne d'un caractère à un autre. C'est pourquoi nous avons notre production comme «géniale».

Exemple # 3:

Dans l'échantillon de code ci-dessous, nous utilisons la méthode pour faire copier le tableau à une valeur spécifiée constante. Pour ce faire, nous déclarerons d'abord nos deux variables de chaîne en utilisant un tableau de caractères sur une longueur spécifiée: «Stringa» avec une longueur de 20 et «StringB» avec une longueur de taille 25. Nous n'avons attribué aucune chaîne à notre tableau source en utilisant la méthode strcpy. Nous insérons manuellement la chaîne à la variable source «StringB». Ensuite, appelez notre fonction strncpy dans laquelle le premier argument est la variable de destination et la seconde est une variable source. Mais nous attribuons également la valeur à notre source en utilisant notre strncpy fonction.

Dans la ligne 6, nous faisons une copie complète de notre chaîne pour attribuer la valeur à notre source. Après avoir attribué la valeur, nous avons copié la valeur StringB à Stringa qui est notre destination. Nous lui avons donné une longueur de 7, ce qui signifie qu'il ne copiera que les 7 premiers caractères de notre chaîne source.

Nous avons utilisé printf () déclaration, l'une pour imprimer notre valeur source et l'autre pour imprimer notre valeur de destination. Comme nous pouvons le voir dans notre sortie, la valeur Stringa n'est que de 7 caractères car lors de la copie, nous lui avons donné une longueur de 7. StringB a imprimé la chaîne complète car nous avons utilisé strcpy au lieu de strncpy fonction qui a copié toute la chaîne.

Conclusion

Dans ce guide, nous avons appris la fonction strncpy () de la langue C. Vous pouvez en explorer plus sur la fonction strncpy () de la bibliothèque C en utilisant plusieurs exemples, vous pouvez acquérir une compréhension encore meilleure en la mettant en œuvre. Il nous a permis d'utiliser une seule chaîne dans un code plusieurs fois au lieu de l'écrire encore et encore. En l'attribuant simplement à une variable réduit la complexité des valeurs répétitives.