Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Lecture fichier binaire [ Archives / Fichier / Disque ] (benus)

dimanche 17 avril 2005 à 19:20:51 | Lecture fichier binaire

benus

Bonjour;
Je travaille sur les fichiers en ce moment et j'aurai aimé savoir aprés la lecture d'un fichier avec :
FILE* file = fopen("toto.bin", "rb");
fread(&toto, sizeof(MyStruct), 1, file);

comment on faisait pour afficher le contenu du fichier
J'ai essayé avec :

cout <<  toto  << endl;

mais il me retourne une erreure, y a t-il une fonction spéciale?


dimanche 17 avril 2005 à 19:33:00 | Re : Lecture fichier binaire

Gendal67

FILE* fp;
if((fp = fopen("toto.bin", "rb")) == NULL) return false; // par exemple

char szBuffer[2048];

while(fgets(szBuffer, sizeof(szBuffer), fp))
  printf("%s", szBuffer);

fclose(fp);


Je n'ai pas testé (je viens de coder ça direct) mais ça devrait marcher sans aucun problême
J'espère avoir pu t'aider!

Bonne soirée à tous !

Gendal67, Dev-C++ 4.9.9.1, J'adore cppfrance!! :-))

dimanche 17 avril 2005 à 19:48:51 | Re : Lecture fichier binaire

benus

Je viens d'essayer et ca n'a pas résolu mon pb ca veut donc peut etre dire que c'est l'ecriture ds le fichier qui ne fonctionne pas.
Voila le code d'insertion (si qq'un a une idee je suis preneur) :

     int n;
     short numtoto;
     short tempFour;
     char responsable[21];
     float tempsCuissonTotal;
     float tempsCuissonRealise;

        struct MyStruct
  {
     short *numtoto;
     short *tempFour;
     char *responsable[21];
     float *tempsCuissonTotal;
     float *tempsCuissonRealise;
  };

  FILE * fp;
  fp = fopen ("toto.dat", "wb"); //création et/ou ouverture

        numtoto = 1;
        cout << "Temperature :";
        cin >> temptoto;
        cout << "Responsable :";
        cin >> responsable;
        cout << "tempsCuissonTotal :";
        cin >> tempsCuissonTotal;
        cout << "tempsCuissonRealise :";
        cin >> tempsCuissonRealise;

        MyStruct toto;
       
  fwrite(&toto, sizeof(MyStruct), 1, fp);
  fclose (fp) ; // fermeture


dimanche 17 avril 2005 à 20:02:25 | Re : Lecture fichier binaire

Jarod1980

Salut,

Je crois que le fichier que tu veux lire contient uniquement des doubles ou des intergers.

Donc pour le fichier essai de faire comme Gendal67 mais au lieu de printf("%s", szBuffer); ecris plutôt:
printf("%lf", szBuffer);
et double szBuffer[2048];
essai au sinon printf("%c", szBuffer); et: char szBuffer[2048];



Jarod_Delaware


dimanche 17 avril 2005 à 21:05:24 | Re : Lecture fichier binaire

benus

Non il y a aussi des char.

Ma structure est-elle bien passée ds mon fichier?

lundi 18 avril 2005 à 09:59:50 | Re : Lecture fichier binaire

Gendal67

benus, non....ta structure n'est pas bien passée! je te corrige tout ça :

        struct MyStruct
  {
     short *numtoto;
     short *tempFour;
     char *responsable[21]; // pas de pointeur ici si tu mets[21];
     float *tempsCuissonTotal;
     float *tempsCuissonRealise;
  };

FILE * fp;
  fp = fopen ("toto.dat", "wb"); //création et/ou ouverture

       MyStruct toto; // y faut le déclarer ici


        numtoto = 1;
        cout << "Temperature :";
        cin >> &toto.temptoto; // il faut spécifier que c de lobjet toto + passage par référence
        cout << "Responsable :";
        cin >> toto.responsable; // pas de référence car c un char*
        cout << "tempsCuissonTotal :";
        cin >> &toto.tempsCuissonTotal;
        cout << "tempsCuissonRealise :";
        cin >> &toto.tempsCuissonRealise;
        
  fwrite(&toto, sizeof(MyStruct), 1, fp);
  fclose (fp) ; // fermeture



Le passage par référence se fait pour les nombres (et bien qur d'autres choses aussi) pour que l'on puisse vraiment modifier la valeur de ce nombre par la fonction appellante (ici, cin)

J'espère avoir pu t'aider

Gendal67, Dev-C++ 4.9.9.1, J'adore cppfrance!! :-))

lundi 18 avril 2005 à 12:23:04 | Re : Lecture fichier binaire

benus

Merci ca me parait deja plus abouti )
Ms il me retourne cette erreur :

[C++ Erreur] Unit1.cpp(31): E2015 Ambiguïté entre '_STL::basic_istream<char,_STL::char_traits<char> >::operator >>(bool &)' et '_STL::basic_istream<char,_STL::char_traits<char> >::operator >>(void * &)'

la ligne correspondante est celle ci :

cin >> &toto.temptoto;



J'ai fait qq modifs ms rien a faire

lundi 18 avril 2005 à 17:54:36 | Re : Lecture fichier binaire

benus

Réponse acceptée !
merci a tous j'ai enfin trouvé d'ou ca vennait )



Cette discussion est classé dans : fichier, lecture, binaire, file, toto


Répondre à ce message

Sujets en rapport avec ce message

Lecture de fichier binaire structuré [ par nico20000 ] Bonjour,j'ai besoin de lire dans un fichier binaire dont l'entête ressemble à ceci: (traduite en hexa)Properties gc90063 num FTPLocal le 17/11/2003Je Fonction de lecture de fichier [ par bastet1978 ] Bonjour, je suis nouveaux en c, et je veux utiliser une fonction pour ouvrir mes fichiers (eviter a chaque foix de tester si ouverture ok ... etc) Voi lire et ecrire en meme temps dans un fichier avec les fstream [ par Daimadoshi ] slt tlm, voila j'i un petit probleme : je voudrai pouvoir faire des acces en lecture et en ecriture sur un fichier mais je n'y parviens pas voici mon Lecture d'un fichier et affichage de balises [ par SpiritAnghell ] Bonjour;Le programme suivant est censé extraire les balises d'un fichier xml et les afficher une par une:#include #include #include #include #include lecture ecriture dans un fichier binaire [ par bbear ] 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 voudra Lecture de fichier texte [ par vba_blitz ] Bonjour, avec le code ci dessous, je recupere les donnees d'un fichier comprenant 2 colonnes. Mais ce code ne recupere pas la premiere ligne et recupe gestion de fichier texte [ par cedric3456 ] bonjour a tous je suis debutant en c++ ,j'aimerais gerer des fichier texte du type .txtpour cela j'utilise dev_c++ 4.9.9.2je souhaite créer 2 fonction Lecture de fichier video [ par bAzilew ] Bonsoir, j'aimerai savoir s'il est possible de lire un fichier video sans l'avoir completement reçu. Dans le cas d'un telechargement, est ce qu'il exi sauvegarder un fichier en GTK [ par zaibacker ] Bonjour, jai un soucis avec la sauvegarde de fichier en gtk. Aucun probleme ni à l'éxécution ni à la compilation , seulement que le fichier n'est pas modifier un mot dans un fichier [ par krusty24 ] bonjour tout le mondele but de mon programme est de modifier un mot dans un fichier.exemple de fichier:2,3  4,5 6.7  8,91.3 2,4  5.7 6,8par exemple je


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.