Posez votre question Signaler

[C] erreur de pointeur

wolfy
Bonjour,
J'ai une sale erreur avec des pointeurs, voici le message d'erreur de gcc:
assignment makes pointer from integer without a cast
J'en ai 8 au totales des comme ca.
voici mon code, c'est juste pour géré des arguments sur un programme :
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
/*
gestion des arguments
*/
void arguments_manager(char * input_file, char * output_file, int * threads_number, int arguments_number, char * argv[])
{
switch(arguments_number)
{
case 1 :
printf("argument needed\n\n -help for the help\n");
break;
case 2 :
if(strcmp(argv[1],"-help")==0)
{
printf("The possible arguments are : \n");
printf(" -n NUM : number of threads, by default 2. \n");
printf(" -o OUTPUT_FILE : output file, if there is no one, the result will be printed. \n");
printf(" INPUT_FILE : the input file. \n");
printf(" In resume you can use the programme like this : \n matrixprod [-n NUM] [-o OUTPUT_FILE] INPUT_FILE \n");
}
else
{
*input_file = argv[1];
}
break;
case 4 :
if(strcmp(argv[1],"-n")==0)
{
*threads_number = atoi(argv[2]);
*input_file = argv[3];
}
else if(strcmp(argv[1],"-o")==0)
{
*output_file = argv[2];
*input_file = argv[3];
}
else
{
printf("argument error\n\n -help for the help\n");
}
break;
case 6 :
if((strcmp(argv[1],"-n")==0) && (strcmp(argv[3],"-o")==0))
{
*threads_number = atoi(argv[2]);
*output_file = argv[4];
*input_file = argv[5];
}
else if((strcmp(argv[1],"-o")==0) && (strcmp(argv[3],"-n")==0))
{
*threads_number = atoi(argv[4]);
*output_file = argv[2];
*input_file = argv[5];
}
else
{
printf("argument error\n\n -help for the help\n");
}
break;
default : printf("argument error\n\n -help for the help\n");
}
}
/*
main
*/
int main(int argc, char * argv[])
{
int i, threads_number=2;
char input_file[15]="", output_file[15]="";
printf("nombre d'argument = %d\n",argc);
for(i = 0; i<argc; i++)
{
printf("argument %d : %s\n",i,argv[i]);
}
arguments_manager(input_file, output_file, &threads_number, argc, argv);
printf("fichier d'entrée : %s\n",input_file);
printf("fichier de sortie : %s\n",output_file);
printf("nombre de thread : %d\n",threads_number);
return 0;
}
merci à tous!
Lire la suite 

[C] erreur de pointeur »

Ce document intitulé « [C] erreur de pointeur » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?