Question sur les fichiers [C] - C++ - Programmation
Marsh Posté le 23-03-2003 à 14:18:59
Une méthode simple : (y a mieux, mais plus complexe)
Tes valeurs sont comprises entre 0 et 2000 => type unsigned short.
Le truc c'est d'écrire tes valeurs de cette facon :
(me souviens plus trop comment marche fwrite, mais ca doit ressembler a ca)
Code :
|
ton fichier est plus trop en mode texte, et donc plus d'espaces... ensuite pour lire tu fais la meme chose :
Code :
|
voila. c une solution simple, a optimiser, surtout qd on sait que dans un USHORT on peut mettre juska 65535, donc un nb x fois tes valeurs qui vont de 0 a 2000. (j'arrive plus a savoir combien vaut x la, j'ai mon cerveau en mode pause, et en plus j'ai fait epita alors je sais plus compter)
ps : désolé pour le "sizeof (USHORT)", mais ca me fait trop kiffer de mettre des trucs comme ca.
Marsh Posté le 23-03-2003 à 14:52:01
Merci
Et si jamais g des valeurs positives et négatives dans mon tableau ca marchera aussi?
Marsh Posté le 23-03-2003 à 15:02:11
*LighTninG* a écrit : Merci |
moui ca devrait marcher aussi... meme si tu mets des float des nivos ou des bordels, du moment que tu ecris/lis des types dont tu t'es mis d'accord...
Marsh Posté le 23-03-2003 à 13:48:12
Salut!
Je veux écrire un tableau de int dans un fichier et le récupérer après, le problème c'est qu'il est très gros (700 000 cases) et ses valeurs varient aléatoirement de 0 à 2000.
Si je l'enregistre en mode texte, je suis obligé de mettre un espace à chaque valeur écrite, avec un fprintf(fichier,"%i ",tab[i]); .Je les récupére ensuite avec un fscanf(fichier,%i ",tab[i]); .
Mais avec des espaces, le fichier devient presque 2 fois plus gros! Ya pas moyen de mettre autre chose qu'un espace entre chaque valeur et que ca prenne moins de place? (tout en récupérant le même tableau bien sur)
sinon ya bien des autres commandes pour écrire dans un fichier comme fwrite et fputc, mais je sais pas trop m'en servir...aidez moi svp.