
Envoyé par
OlivierDotre
je ne connaissais pas strdup
J'ai donc testé mais il me renvoi ceci comme erreur
1 2 3
| src/main.c: In function «main":
src/main.c:49: attention : implicit declaration of function «strdup"
src/main.c:49: attention : incompatible implicit declaration of built-in function «strdup" |
Hors j'inclus bien la string.h
Qu'est ce qui m'échappe?
Déjà, il faut inclure <string.h>. Ensuite, comme ce n'est pas une fonction standard du C, mais POSIX.1, il faut sans doute activer le mode POSIX. Pour cela, consulter la doc de ton compilateur.
Par exemple, avec gcc/Linux, on ajoute :
-D__POSIX_C_SOURCE=200112L
(2 underscores)
sur la ligne de commande du compilateur.
Enfin, si ton implémentation du C ne connait pas strdup(), il faut l'implémenter toi même, et ce n'est pas difficile.
Voici la définition officielle (POSIX.1) :
http://www.opengroup.org/onlinepubs/...ns/strdup.html
Partager