Salut,

voile je voudrais transmettre un tableau de structure en paramètre et l'initialiser:

Ma structure + la prototype de la fonction:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
typedef struct produit produit;
struct produit{
    char libelle[30];
    long stock;
};
 
long recupListeProduit(produit* tab_produit);

L'appel de ma fonction:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
produit tab_produit[50];
nb_produit=recupListeProduit(tab_produit);
La fonction en elle même:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
long recupListeProduit(produit* tab_produit){
 
long nb_produit=0,position_deb=0,position_fin=0;
FILE *fichier_produits=NULL;
produit un_produit;
 
fread(&un_produit,sizeof(produit),1,fichier_produits);
while(feof(fichier_produits)==0){
   tab_produit[nb_produit].libelle=un_produit.libelle;
   tab_produit[nb_produit].stock=un_produit.stock;
   nb_produit++;
   fread(&un_produit,sizeof(produit),1,fichier_produits);
}
}
Code block me met l'erreur:
C:\CodeBlocks\phyto_stock\gest_coop\produit.c||In function `recupListeProduit'
C:\CodeBlocks\phyto_stock\gest_coop\produit.c|86|error: incompatible types in assignment|
||=== Build finished: 1 errors, 0 warnings ===|

C'est la ligne --> tab_produit[nb_produit].libelle=un_produit.libelle;
Si je la met en commentaire, il ne met plus d'erreur.

Merci de m'aider c'est très important.