j'ai été obligé de déclarer deux vecteurs d'entiers en global à cause d'un problème de fonctions... maintenant je voudrais écrire ces tableaux dans un fichier texte à l'aide de fprintf
J'utilise ces variables globales dans ma fonction et ya aucun pb mais qd je vx les écrire dans le fichier dans ma fonction principale main, ou écrire simplement une valeur du vecteur dans une variable int temporaire, (temp= pts[0]; ) il me mets un message d'erreur invalid indirection...
qqun pourrait-il m'aider svp c assez urgent... merci d'avance
en fait g du les déclarer en global parce que ce sont des tableaux que je remplis dans une fonction et dont j'ai besoin dans la fonction main par la suite...g essayé de les déclarer en extern dans la fonction mais g exactement le même problème...
Je vais essayer de poster un bout de code mais ca va pas être facile... :/
ben a partir du main tu passes le tableau en pointeur, ou en référence si tu es en c++
c pas du tout impossible ca, et c bien plus propre
int compteur, indice[6], pts[12], pts2[12];
void score(char *, int *, int, int, int);
void main()
{ FILE *fichier;
.
.
.
.
fichier=fopen("scores.txt","w");
for(a=0;a!=compteur;a++)
{ temp=pts[a];
temp2=pts2[a];
fprintf(fichier,"%d-%d",temp, temp2);
}
fclose(fichier);
.
.
.
}
void score(char * tab2, int * tab, int k, int x, int cpt)
{ .
.
.
.
scanf(" %d",&pts[compteur]);
.
temp=pts[compteur];
.
.
scanf(" %d",&pts2[compteur]);
fflush(stdin);
temp=pts2[compteur];
.
.
printf(" %3d - %3d",pts[compteur], pts2[compteur]);
.
.
.
.
}
voila en gros ce que ca donne, mais g repris que l'essentiel...
Il me mets donc un message d'erreur dans le main à l'endroit ou je fais temp=pts[a]...
euh les valeurs du tableau modifié dans la fonction le seront aussi dans main???
c le principe meme du pointeur ou de la référence
bon ok mais pourquoi me mets-il invalid indirection?