Namespaces
Variants

std:: strncpy

From cppreference.net
Défini dans l'en-tête <cstring>
char * strncpy ( char * dest, const char * src, std:: size_t count ) ;

Copie au plus count caractères de la chaîne d'octets pointée par src (incluant le caractère nul terminal) vers le tableau de caractères pointé par dest .

Si count est atteint avant que la chaîne entière src ne soit copiée, le tableau de caractères résultant n'est pas terminé par un caractère nul.

Si, après avoir copié le caractère nul de terminaison depuis src , count n'est pas atteint, des caractères nuls supplémentaires sont écrits dans dest jusqu'à ce qu'un total de count caractères aient été écrits.

Si les chaînes se chevauchent, le comportement est indéfini.

Table des matières

Paramètres

dest - pointeur vers le tableau de caractères à copier
src - pointeur vers la chaîne d'octets à copier
count - nombre maximum de caractères à copier

Valeur de retour

dest

Exemple

#include <cstring>
#include <iostream>
int main()
{
    const char* src = "hi";
    char dest[6] = {'a', 'b', 'c', 'd', 'e', 'f'};
    std::strncpy(dest, src, 5);
    std::cout << "The contents of dest are: ";
    for (char c : dest)
    {
        if (c)
            std::cout << c << ' ';
        else
            std::cout << "\\0" << ' ';
    }
    std::cout << '\n';
}

Sortie :

The contents of dest are: h i \0 \0 \0 f

Voir aussi

copie une chaîne dans une autre
(fonction)
copie un tampon dans un autre
(fonction)
Documentation C pour strncpy