Stocker tableau dans fichier

Signaler
Messages postés
2
Date d'inscription
mercredi 14 septembre 2005
Statut
Membre
Dernière intervention
19 janvier 2006
-
Messages postés
627
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
24 juillet 2011
-
bonjours, je suis en train d'essayer de developper une bataille navalle, pour cela, je souhaite stocker la grille dans un tableau a 2 dimentions, puis sauvegarder ce tableau dan un fichier, lorsque je le stock, ca stock les valeur dans le fichier, pas le tableau
ma question, peu t'on stocker le tableau comme variable, ou alors comment recuppérer les données, et les remettre dans un tableau??? pour pouvoir retravailler dessus

Amau

6 réponses

Messages postés
540
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
1 octobre 2007
2
tu peux stocker ton tableau , un tableau de int tab[10][10] peut etre stocker avec fwrite(tab,10*10,4,FILE *);

et recuperé avec fread(tab,10*10,4,FILE *);.. simple .. FILE * est un pointeur sur ton fichier..



PS : apres il est bien de mettre des entetes.. eviter les erreurs surtout..
Messages postés
2
Date d'inscription
mercredi 14 septembre 2005
Statut
Membre
Dernière intervention
19 janvier 2006

euh ca marche pas, ca me fait des errreur, t'es sur qu'il faut pas de boucle? ton fwrite ecris tout le tableau d'un coup?
ensuite, fwrite(tab,10*10,4,FILE *);
y' a pas besoin de &?
y a pas besoin de metre tab[10][10]

ton fread tu le fait apres le fopen?

Amau
Messages postés
627
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
24 juillet 2011

Euh... quand tu appelles une fonction en lui passant un tableau ou autre chose, tu ne lui donne que le nom de ta variable (c'est dans le protoype de la fonction appellée qu'on verrait "int tab[10][10]" ou "int** tab").
Pourquoi mettre un "&" ? Non...s'il ya une erreur fais l'inverse (déréférencement plutôt que référencement) comme ceci :

fwrite(tab[i], 10, 4, FILE*) <<< dans une boucle ou "i" varie de 0 à 9
fwrite(*(tab + i), 10, 4, FILE*) <<< ou ça, c'est équivalent

Voila voilou, bonne soirée
Messages postés
627
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
24 juillet 2011

fwrite() prend enfait en premier paramètre un 'void*'....or ton tableau est un 'void**' si on veut...donc le fait de rajouter un '&' ça le transformeré en 'void***' or c'est linverse qu'on veut, d'où tab[i] ou *tab
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
ou :

(void*)&tab[0][0]



qui est plus simple à comprendre et on est sur que ca marche.
Messages postés
627
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
24 juillet 2011

Mon code aussi fonctionne et on en est sur également, non? Alors ne précise que "plus simple à comprendre"....sur ce point là, je reconnais qu'il semble plus simple pour un débutant