Bonjour à tous,
 
J'ai un programme en C qui fait appel à une fonction dont le voici le code :  
 
void TraitementAl (char *type_fichier, char *code_erreur, char *ligne,
       char *texte)
{
char	chaine[1000];
char	cle[250];
 
switch (type_fichier[0])
 {
 case  'A' :
 	strncpy(cle, ligne, 8);
 	cle[8] = '\0';
 	break;
   
 case  'B' :
 	strncpy(cle, ligne, 16);
 	cle[16] = '\0';
 	break;
 
 case  'S' :
 	strncpy(cle, ligne, 44);
 	cle[44] = '\0';
 	break;
 
 default :
 	type_fichier[0] = 'Z';
 	strcpy(cle, ligne);
 	break;
 }
 
sprintf(chaine, "$%c:%6s:%04d%02d%05d:%s:%s",
 	type_fichier[0],
 	code_erreur,
 	cle_lot_glob.exercice_comptable,
 	cle_lot_glob.mois_comptable,
 	cle_lot_glob.code_uc_aff,
 	cle,
 	texte);
 
printf("%s\n", chaine);
}
 
Le problème est que j'ai un core dumped à l'exécution au niveau de la ligne : type_fichier[0] = 'Z';
 
En effet lorsque je supprime cette ligne tout se passe bien. Mais maintenant je ne comprends pas pourquoi j'ai cette erreur.
 
Avez-vous une idée sur ce problème ?
 
Je précise que ce programme avait été développé il y a plusieurs années sous Unix Tru64 et fonctionnait parfaitement. Par contre sous Linux Red Hat 5 la compilation se passe bien mais à l'exécution je tombe sur le core dumped.
 
Merci d'avance pour votre aide précieuse !!!!