Stocker tableau dans fichier

amau96 Messages postés 2 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 19 janvier 2006 - 19 janv. 2006 à 19:58
Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 - 20 janv. 2006 à 12:45
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

rrk275 Messages postés 540 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 1 octobre 2007 2
19 janv. 2006 à 20:32
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..
0
amau96 Messages postés 2 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 19 janvier 2006
19 janv. 2006 à 21:00
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
0
Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 2
19 janv. 2006 à 22:21
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
0
Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 2
19 janv. 2006 à 22:22
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
20 janv. 2006 à 11:50
ou :

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



qui est plus simple à comprendre et on est sur que ca marche.
0
Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 2
20 janv. 2006 à 12:45
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
0
Rejoignez-nous