Ben oui, char *ident alloue juste de la place pour un pointeur vers un char mais ne reserve pas la place prise par cette chaine. Pour cela, il faut faire un :
Code :
- ident=(char*)malloc(sizeof(char)*nb_char);
|
Je te conseille de passer par une variable temporaire
Code :
- char tmp[80];
- printf("entrer nom du soldat\n" );
- gets(tmp);
- ident=(char*)malloc(sizeof(char)*(strlen(tmp)+1));
- strcpy(ident,tmp);
|
comme ca tu reserves que ce que tu as besoin
printf("%s","entrer nom du soldat \n" );
tu sais que printf("entrer nom du soldat \n" ); ça marche aussi
Message édité par zastaph le 23-11-2002 à 01:26:35
---------------
yo, nippon ichi