Comment utiliser la fonction Strncpy dans C ++

Comment utiliser la fonction Strncpy dans C ++
Il existe de nombreuses fonctions en C ++ pour copier des chaînes ou des caractères d'un endroit à un autre, qui sont strcpy, strncpy et memcpy. Ils sont distincts les uns des autres selon leurs fonctionnalités. Ce tutoriel discutera du strncpy () fonction en c++.

Quelle est la fonction strncpy () en c++

La fonction strncpy () est une fonction C ++ intégrée qui est utilisée pour copier une quantité fixe de caractères d'une chaîne à une autre. La fonction a besoin de trois paramètres: la chaîne de destination qui tiendra les caractères, la chaîne source qui fournira les caractères et le nombre de caractères à copier. Si la chaîne source est inférieure au nombre de caractères spécifié, la chaîne de destination sera rembourrée de caractères nuls à la longueur restante.

Le prototype d'une fonction strncpy () est donné ci-dessous.

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

Quels sont les paramètres de C ++ strncpy ()

Tous les paramètres de strncpy () La fonction est expliquée ci-dessous.

  • dest: Un pointeur vers le tableau de destination auquel le contenu a été
  • SRC: Un pointeur vers le tableau source à partir duquel le contenu est
  • compter: Le plus grand nombre de caractères qui pourraient être copiés de la source à la destination.

Comment fonctionne la fonction strncpy () en C++

strncpy () La fonction accepte trois arguments: dest, src, et compter. Il vérifie si le SRC La chaîne est terminée nul, et si oui, il copie le nombre spécifié de caractères du SRC chaîne au destruction chaîne. Si le nombre est inférieur à la longueur du SRC String, les caractères de premier compte ont été transférés à destruction chaîne et ne sont pas terminées nulles. Si le décompte dépasse la longueur de SRC, Tous les personnages de SRC sont copiés sur destruction, et des caractères nuls de terminaison supplémentaires ont été inclus jusqu'à ce que tous les caractères de nombre soient écrits.

L'exemple donné illustre le fonctionnement du C++ strncpy () fonction.

#inclure
#inclure
Utilisation de Namespace Std;
int main()

char src_str [] = "J'écrit un code pour strncpy";
char dest_str [60];
strncpy (dest_str, src_str, strlen (src_str));
couter<retour 0;

Dans ce programme, nous avons utilisé Fichier d'en-tête car il comprend strncpy () fonction. Nous avons défini deux cordes une src_str Et l'autre est dest_str. strncpy () fonction qui prend des données chaîne src_str et le copie au dest_str. Ici strlen (src_str) est utilisé pour compter le nombre total de caractères du chaîne src_str.

Le sortir du programme peut être présenté ci-dessous.

Quels sont les problèmes d'utilisation de strncpy () en c++

  • S'il n'y a pas de caractère nul dans le tableau de destination ou si la chaîne n'est pas terminée, notre programme ou notre code peut rencontrer des problèmes tôt ou tard. Une chaîne non terminée non nul en C ++ est devenue un code risqué qui peut se casser à tout moment pendant l'exécution du programme. Cela peut entraîner un défaut de segmentation dans le programme. Par conséquent, strncpy () ne garantit pas que la chaîne de destination est toujours terminée, ce qui rend le code risqué pour le programme que nous écrivons.
  • Cette fonction ne vérifie pas le débordement, donc si nous essayons de copier la chaîne source dans une destination de taille plus petite que la source, nous obtenons une erreur et un comportement non défini.

Conclusion

Pour copier les données d'une chaîne à une autre, nous utilisons strncpy () en C ++ qui est une fonction intégrée dans En tête de fichier. Dans cet article, nous avons discuté de la syntaxe et du travail du C++ strncpy fonction avec un exemple. Nous avons également souligné certains problèmes à cause duquel le strncpy La fonction peut rendre notre code risqué.