Maison > développement back-end > C++ > Pourquoi pensons-nous que strncpy en C/C++ n'est pas sûr ?

Pourquoi pensons-nous que strncpy en C/C++ n'est pas sûr ?

WBOY
Libérer: 2023-09-13 09:17:02
avant
1244 Les gens l'ont consulté

Pourquoi pensons-nous que strncpy en C/C++ nest pas sûr ?

La fonction strncpy() est utilisée pour copier le nombre spécifié de caractères de la source vers la destination.

Ce qui suit est la syntaxe de strncpy()

char *strncpy( char *destination, char *source, size_t n);
Copier après la connexion

Ici, destination est un pointeur vers le tableau de destination dans lequel la chaîne source sera copiée, source est la chaîne à copier et n est la chaîne à partir de laquelle . Le nombre maximum de caractères à copier. La fonction

strncpy() n'est pas sûre car s'il n'y a pas de caractère NULL dans les n premiers caractères de la chaîne source, la chaîne cible ne se terminera pas par NULL.

Ce qui suit est un programme qui démontre la fonction strncpy() en C++.

Exemple

Démonstration en ligne

#include <iostream>
#include <cstring>
using namespace std;
int main () {
   char source[20] = "This is a string";
   char dest[20];
   strncpy(dest, source, 4);
   cout << "The destination string is: " << dest;
   return 0;
}
Copier après la connexion

Sortie

La sortie du programme ci-dessus est la suivante.

The destination string is: This
Copier après la connexion

Maintenant, comprenons le programme ci-dessus.

La chaîne source contient les données "Ceci est une chaîne". Utilisez ensuite strncpy() pour copier les quatre premiers caractères dans la chaîne cible. Imprimez ensuite le contenu de la chaîne cible. Un extrait de code montrant cela se trouve ci-dessous.

char source[20] = "This is a string";
char dest[20];
strncpy(dest, source, 4);
cout << "The destination string is: " << dest;
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal