Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2491 connectés 

 


Dernière réponse
Sujet : [C] ecrire un tableau[N][N] en binaire dans un fichier
oO_Oo

darkoli a écrit a écrit :

voila, c'est comme ca :
 
  #include <stdio.h>
 
  FILE* fichier;
 
  int taille_tableau=N*N*sizeof(int);
  char* nom_fichier="c:\toto.bin";
 
  fichier = fopen(nom_fichier,"wb" );
  if (fichier==(FILE*)NULL) {
    // erreur à l'ouverture du fichier
    }
 
 // Ecriture du fichier
   fseek(fichier,0,0);
  if (fwrite(tableau,1,taille_tableau,fichier)!=taille_tableau) {
   // erreur : tout n'est pas ecris
    fclose(fichier);
    }
 
 // fin
  fclose(fichier);




 :jap:


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
oO_Oo

darkoli a écrit a écrit :

voila, c'est comme ca :
 
  #include <stdio.h>
 
  FILE* fichier;
 
  int taille_tableau=N*N*sizeof(int);
  char* nom_fichier="c:\toto.bin";
 
  fichier = fopen(nom_fichier,"wb" );
  if (fichier==(FILE*)NULL) {
    // erreur à l'ouverture du fichier
    }
 
 // Ecriture du fichier
   fseek(fichier,0,0);
  if (fwrite(tableau,1,taille_tableau,fichier)!=taille_tableau) {
   // erreur : tout n'est pas ecris
    fclose(fichier);
    }
 
 // fin
  fclose(fichier);




 :jap:

darkoli voila, c'est comme ca :
 
  #include <stdio.h>
 
  FILE* fichier;
 
  int taille_tableau=N*N*sizeof(int);
  char* nom_fichier="c:\toto.bin";
 
  fichier = fopen(nom_fichier,"wb" );
  if (fichier==(FILE*)NULL) {
    // erreur à l'ouverture du fichier
    }
 
 // Ecriture du fichier
   fseek(fichier,0,0);
  if (fwrite(tableau,1,taille_tableau,fichier)!=taille_tableau) {
   // erreur : tout n'est pas ecris
    fclose(fichier);
    }
 
 // fin
  fclose(fichier);
antp Moi je dirais avec write tout simplement (fonctions de io.h je crois)
 
int f;
f=open(...);
write(...);
etc...
 
Tu écris tout le tableau d'un coup en donnant le nom du tableau en paramètre puisque c'est une adresse, ça marche normalement.
 
Et après pour le relire avec read tu le fous dans un tableau de même taille.
 
Attention quand même : il faut ouvrir les fichiers en mode binaire, pcq parfois par défaut c'est mode texte et là ça foire pas mal...

 

[edit]--Message édité par antp--[/edit]

oO_Oo kkun aurait un moyen d'ecrire un tableau bidimensionel d'int sans ecrire les cases 1 par 1 :??:
avec fwrite par exemple mais ca me sort des trucs de fou ...
thx :jap:

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)