cs_bbear
Messages postés92Date d'inscriptionjeudi 24 novembre 2005StatutMembreDernière intervention29 mai 2008
-
14 juin 2006 à 19:09
cs_bbear
Messages postés92Date d'inscriptionjeudi 24 novembre 2005StatutMembreDernière intervention29 mai 2008
-
14 juin 2006 à 20:13
j'ai 2 tableaux : un de unsigned int et un de char "string"
unsigned int tabint[]={ xxx,xxx,xxx...};
char *tabnom[]={ "nom1","nom2","nom3"...};
je voudrais sauvegarder ces tableaux dans un fichier binaire (.dat ou autre)
d'après plusieurs sources d'ici, j'ai essayé avec ofstream fileout("file.dat"), fileout.write(reinterpret_cast<const char*>(&tabint[0]), sizeof(int))...
j'ai fait un premier essai avec le tableau de int
mais quand je lis le fichier, à la 6ème valeur, plus rien : je me retrouve avec -128,-1,-1,-1...
comme je ne veux pas sauvegarder sous forme de texte, comment cela fonctionne-t-il donc ?
cs_bbear
Messages postés92Date d'inscriptionjeudi 24 novembre 2005StatutMembreDernière intervention29 mai 2008 14 juin 2006 à 19:39
oui, mais je ne veux pas ecrire en mode texte
voilà un exemple de ce qu'il se passe avec ce tableau :
unsigned int tabint[]={1200000, 1000000, 800000, 600000, 400000, 200000,100000,90000};
unsigned int tablecture[]={0,0,0,0,0,0,0,0};
je fais une boucle
for(i=0;i<10;i++){ file.write(...(&tabint[i],sizeof(int)); }
cs_bbear
Messages postés92Date d'inscriptionjeudi 24 novembre 2005StatutMembreDernière intervention29 mai 2008 14 juin 2006 à 20:13
bon bin finalement je vais pas utiliser ofstream
je vais passer par le standard FILE, fopen("file.dat","w+b")/fopen("","r+b") et fwrite/fread
ça marche impec et en plus le fichier est moins gros
ps: n'empêche, j'aimerai quand meme bien savoir d'où ça vient le probleme avec les int