Bonjour ,
J'ai un problème au niveau du calloc et du strcpy, un warning qui semble pouvoir être contourner avec un cast foireux , mais j'ai bien peur que ce ne soit pas la solution
A ce que j'ai compris , calloc alloue un pointeur vers un tableau en mémoire , je me trompe ?
Dans le code qui suit, je ne fais aucune vérification sur le retour des fonctions, c'est juste à titre d'exemple pour le calloc :
voici l'erreur : warning: passing argument 1 of ‘strcpy’ makes pointer from integer without a cast
Merci d'avance de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 #include <stdio.h> #include <stdlib.h> #include <string.h> char* split(char * ); int main() { int i; char buff[100] = "azerty.qsdfg.wxcvb"; char * p = split(&buff[0]); for(i=0;i<3;i++) printf("%s\n",p[i]); free(p); return 0; } char* split(char *buff) { int i = 0; char *chaine = (char*) calloc(3,sizeof(char)*20); char *pseek = strtok(buff,"."); while( pseek!= NULL ) { strcpy(chaine[i++],pseek); pseek = strtok(NULL,"."); } return chaine; }![]()
Partager