Le man de la fonction strncpy

🎯 Copier d’un nombre limité de caractères d’une chaîne.

⚙️ Prototype de strncpy

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

🧑‍💻 Fonctionnement de strncpy

strncpy copie au maximum n caractères de la chaîne pointée par src vers dest. Si la longueur de src est inférieure à n, la destination sera remplie avec des caractères nuls (\0) jusqu’à ce que n caractères aient été écrits. Contrairement à strcpy, si la chaîne source est plus longue que n, le caractère nul de fin \0 ne sera pas ajouté automatiquement à la chaîne destination, ce qui peut entraîner une chaîne de caractères non terminée.

Paramètres :

    • dest : Pointeur vers le tableau où la chaîne sera copiée.
    • src : Pointeur vers la chaîne de caractères à copier.
    • n : Nombre maximum de caractères à copier.

Retour :

strncpy retourne un pointeur vers dest.

Remarques :

  • strncpy est souvent utilisé pour copier une portion d’une chaîne, mais vous devez toujours faire attention à ajouter manuellement le caractère nul si n est inférieur à la longueur de src.

  • Attention : Si n est supérieur à la longueur de src, les caractères supplémentaires dans dest seront remplis avec des caractères nuls (\0), ce qui peut être utile pour certaines applications mais peut aussi consommer plus de mémoire.

✨ Exemple d'utilisation de strncpy

Copier une chaîne avec une taille maximale :

				
					char source[] = "42 is awesome";
char destination[20];

strncpy(destination, source, 7);
destination[7] = '\0';  // Assurez-vous que la chaîne est terminée
printf("Destination: %s\n", destination);
				
			

Voir aussi :

  • strcpy : Copie une chaîne de caractères dans une autre sans limitation de taille.
  • strlen : Calcule la longueur d’une chaîne de caractères.
  • strcat : Concatène deux chaînes de caractères.
  • memcmp : Compare deux zones mémoire, utile pour vérifier les résultats de strncpy.
  • memcpy : Copie une zone de mémoire brute, semblable à strncpy mais sans arrêt sur un caractère nul.
Retour en haut