Bonjour,
je debute en C et je dois faire un petit programme de tri. Pour l'instant, je stock les donnes en parametre dans un buffer,mais j'aimerai "renvoyer" ce buffer dans une autre fonction. Sauf qu'a la compilation, j'ai un message qui me dit qu'il y a incompatibilite entre les deux declarations de variables.
Pourant 'buf' est bien un char** non ?
Merci d'avance, voici mon code :
int show(char **buf) /*Je voudrai juste tester sir le buffer est bien "arrive" sur cette fonction*/
{
int i = 0;
for (;buf;i++)
printf("%s", buf[i]);
return(0);
}
int alloc(char **argv)
{
char buf[1024][1024];
int i, j;
for (i = 1; argv[i]; i++)
{
for (j = 0; argv[i][j]; j++)
{
if (argv[i][j] >= 97 && argv[i][j] <= 122) [i]/*Je met tous le texte en MAJ*/
buf[i][j] = argv[i][j] -= 32;
else
buf[i][j] = argv[i][j];
}
}
show(buf);
return (0);
}
int main(int argc, char **argv)
{
if (argc < 2)
{
printf("\n" );
exit(-1);
}
alloc(argv);
return (0);
}
Voici le message a la compile :
In function 'alloc': warning: passing argument 1 of 'show' from incompatible pointer type
Message édité par blobloblo le 09-06-2008 à 17:02:17