Question #2060   Proposée par Answiki le 02/11/2021 à 18:18:19 UTC

Comment utiliser la fonction strlcat() ?

Answer   Submitted by Answiki on 01/23/2022 at 05:33:21 PM UTC

La fonction strlcat() est une fonction que l'on retrouve dans certaines implémentations de la bibliothèque string.h, mais ce n'est pas une fonction standard du C. Pour utiliser cette fonction, il faut inclure cette bibliothèque :

#include <bsd/string.h>

Et compiler avec l'option -lbsd, par exemple :

clang-7 -pthread -lm -lbsd -o main main.c

Voici le prototype :

size_t strlcat( char *dst, const char *src, size_t size);

La fonction concatène les chaînes dst et src, et place le résultat dans la chaîne dst. Contrairement à la fonction strcat()strlcat() garantie que la longueur totale de la chaîne résultat sera comprise entre la longueur initiale de dst et size. Le zéro de fin de chaîne est compatibilisé. Cette fonction sert principalement à éviter les dépassement de taille du tableau de caractères. Considérons les chaînes de caractères suivantes :

char dst[100] = "1234";
char src[100] = "ABCD";

Voici quelques exemple d'appels à strlcat() :

// Retourne 8
// dst = 1234AB
// src = ABCD
strlcat(dst, src, 7);

// Retourne 6
// dst = 1234
// src = ABCD
strlcat(dst, src, 2)

Vous pouvez tester la fonction en ligne sur repl.it.

7 events in history
Answer by Answiki on 01/23/2022 at 05:33:21 PM

La fonction strlcat() est une fonction que l'on retrouve dans certaines implémentations de la bibliothèque string.h, mais ce n'est pas une fonction standard du C. Pour utiliser cette fonction, il faut inclure cette bibliothèque :

#include <bsd/string.h>

Et compiler avec l'option -lbsd, par exemple :

clang-7 -pthread -lm -lbsd -o main main.c

Voici le prototype :

size_t strlcat( char *dst, const char *src, size_t size);

La fonction concatène les chaînes dst et src, et place le résultat dans la chaîne dst. Contrairement à la fonction strcat()strlcat() garantie que la longueur totale de la chaîne résultat sera comprise entre la longueur initiale de dst et size. Le zéro de fin de chaîne est compatibilisé. Cette fonction sert principalement à éviter les dépassement de taille du tableau de caractères. Considérons les chaînes de caractères suivantes :

char dst[100] = "1234";
char src[100] = "ABCD";

Voici quelques exemple d'appels à strlcat() :

// Retourne 8
// dst = 1234AB
// src = ABCD
strlcat(dst, src, 7);

// Retourne 6
// dst = 1234
// src = ABCD
strlcat(dst, src, 2)

Vous pouvez tester la fonction en ligne sur repl.it.

Answer by Answiki on 11/02/2021 at 06:19:41 PM

La fonction strlcat() est une fonction que l'on retrouve dans certaines implémentations de la bibliothèque string.h, mais ce n'est pas une fonction standard du C. Pour utiliser cette fonction, il faut inclure cette bibliothèque :

#include <bsd/string.h>

Et compiler avec l'option -lbsd, par exemple :

clang-7 -pthread -lm -lbsd -o main main.c

Voici le prototype :

size_t strlcat( char *dst, const char *src, size_t size);

La fonction concatène les chaînes dst et src, et place le résultat dans la chaîne dst. Contrairement à la fonction strcat()strlcat() garantie que la longueur totale de la chaîne résultat sera comprise entre la longueur initiale de dst et size. Le zéro de fin de chaîne est compatibilisé. Cette fonction sert principalement à éviter les dépassement de taille du tableau de caractères. Considérons les chaînes de caractères suivantes :

char dst[100] = "1234";
char src[100] = "ABCD";

Voici quelques exemple d'appels à strlcat() :

// Retourne 8
// dst = 1234AB
// src = ABCD
strlcat(dst, src, 7);

// Retourne 6
// dst = 1234
// src = ABCD
strlcat(dst, src, 2)

Vous pouvez tester la fonction en ligne sur repl.it.

Question by Answiki 11/02/2021 at 06:18:19 PM
Comment fonctionne strlcat ?
Question by Answiki 11/02/2021 at 06:18:19 PM
Comment fonctionne strlcat() ?
Question by Answiki 11/02/2021 at 06:18:19 PM
Comment utiliser la fonction strlcat() ?
Question by Answiki 11/02/2021 at 06:18:19 PM
Comment utiliser la fonction strlcat() en C ?
Question by Answiki 11/02/2021 at 06:18:19 PM
En C, comment fonctionne strlcat() ?
# ID Query URL Count

Icons proudly provided by Friconix.