salut tous le monde
g developpe une petite application sur console qui trie un fichier contenant un ensemble d'articles
la structure de l"article est:
typedef struct article
{
char code[3];
char des[20];
char prix[7];
char stock[5];
char fournisseur[10];
struct article* suivant;
} articl;
champ* select(FILE* fic) //fonction pour extraire le champ voulu
{
if(fic==NULL) printf("erreur\n");
else
{
do
{
c=fgetc(fic);
}while(c!=':');
while((c=fgetc(fic))!='\n')
{
sprintf(tmp,"%c",c);
strcat(champ,tmp);
}
}
return champ;
}
articl* article_chaine;
et le fichier est de la forme
######
code:A45
designation:Kamy
prix:0.390D
stock:40432
fournisseur:NouvelleSC
########
l'idee est de faire extraire les differnet champ dans une liste chainee et la faire trier selon un champ particulier.
le probleme lors de l'affectation de chaque champ l'affectation se fais sur l'adresse non sur le contenu du champ
exemple
...declaration et ouverture du fichier 'fic' en r+
article_chaine=(articl*)malloc(sizeof(articl));
strcat(article_chaine->code,select(fic));
printf("%s\n",article_chaine->code);
il affiche :═════════════════════════════²²²²a45
svp aider moi c important.merci d'avance
Partager