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

En C, comment fonctionne 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
0 10466 reproduire la fonction strlcat https://fr.ans.wiki/2058/en-c-comment-fonctionne-strlcat 1
1 10180 strlcat https://fr.ans.wiki/2058/en-c-comment-fonctionne-strlcat 1

Icons proudly provided by Friconix.