Vous avez des améliorations (ou des corrections) à proposer pour ce document :
je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
size_t strxfrm( char * destination, const char * source, size_t size ); // Avant C99
size_t strxfrm( char * restrict destination, const char * restrict source, size_t size ); // A partir de C99
La fonction strxfrm transforme les n premiers caractères de la chaîne source en tenant compte de la localisation en cours
et les place dans la chaîne de destination.
dans les localisations POSIX ou C, la fonction strxfrm réalise une copie équivalente à celle produite par la fonction strncpy.
pour changer la localisation à utiliser, vous pouvez utiliser la fonction setlocale (elle est définie dans l'entête <locale.h>).
Paramètres
destination : un pointeur vers la zone de destination dans laquelle recopier les premiers caractères de la chaîne transformées.
Si ce paramètre est nul (valeur NULL), seul un calcul de la taille résultante sera réalisé et aucune copie ne sera effectuée.
source : un pointeur vers la chaîne d'origine à transformer.
size : le nombre de caractères maximal devant être recopiés dans la destination.
Valeur de retour
La fonction renvoi le nombre de caractères de la chaîne transformée.
Exemple de code
Voici un exemple d'utilisation de la fonction strxfrm.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char destination[20];
size_t len = strxfrm( destination, "Hello from C", 12 );
printf( "La longueur de \"%s\" est %lu", destination, len );
return EXIT_SUCCESS;
}
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :