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 !!!!