CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

lire un fichier en c++

neg282
neg282
Niveau 7
30 juin 2003 à 19:45:32

quelqu´un a un code pour connaitre la taille d´un fichier et le lire octet par octet?

JeanYvesYves
JeanYvesYves
Niveau 10
30 juin 2003 à 19:53:39

oui, en C++ tu peux te servir de ifstream et ofstream
perso, je V te donner le code C ( qui marche tres bien sous C++)

  1. include < stdio.h>

FILE* F=fopen("monfichier.truc","r");
/* r = read : pour lire. utilises w pour write
FILE est une structure, ouvre stdio.h pour voir ses champs qui t´apporteront des infos. */
/* pour lire une donnée */
fread(void *ptr, int size, int n, FILE *stream);
ptr est l´adresse ou tu veux ranger ta donnée, size est la taille de ta donnée, n le nombre de données que tu veux lire en un coup, et FILE, le fichier ouvert.

pour lire un seul octet :

FILE* F;
F=fopen("truc","r");
char c;
fread(&,1,1,F);
. ..

apres tu peux refaire des fread autant que tu veux, ça déplace tout seul le curseur de position.

fclose(F); // ferme ton fichier

fseek(F,234,SEEK_SET); // met ton curseur sur l´octet 234 du fichier.

JeanYvesYves
JeanYvesYves
Niveau 10
30 juin 2003 à 19:54:57

et tu fais un

while(!feof(F))
fread(&,1,1,F);

pour aller " jusqua EOF = End Of File"

bien sur, n´écris pas toujours sur la meme donnée c comme ici : ) enfin apres, tu geres tes données!

Kouic
Kouic
Niveau 9
30 juin 2003 à 20:02:28

Sinon, le meme en C++ :

  1. include < fstream>

using namespace std;

istream fichier(("monfichier.truc", ios::in|ios::binary);

//lire un octet:
char c;
fichier > > c;
// ou encore
fichier.read((char)c, sizeof(char));

// met ton curseur sur l´octet 234 du fichier.
fichier.seekg(234*sizeof(char), ios::beg);

//Pour lire jusqu´a la fin du fichier
while(!fichier.eof())
{
[...]
}

//Pour fermer le fichier
fichier.close();

Altonfrere
Altonfrere
Niveau 10
30 juin 2003 à 20:08:42

" FILE* F=fopen("monfichier.truc","r"); "

Attention aux mauvaises surprises ! !
Il vaut mieux TOUJOURS préciser le mode d´ouverture d´un fichier car par défaut c´est en mode TEXTE ! ! soit " rt".

écrire plutôt ca : ( "rb")

FILE* F=fopen("monfichier.truc","rb");

JeanYvesYves
JeanYvesYves
Niveau 10
30 juin 2003 à 21:32:08

vi, C vrai, vaut mieux mettre rb : )

Lightness1024
Lightness1024
Niveau 10
01 juillet 2003 à 11:51:26

et pkoi pas la bonne fonction windows de lecture binaire CreateFile
tu fais un handle avec ca, ensuite tu appelle GetSize et voila ta la taille !

Altonfrere
Altonfrere
Niveau 10
01 juillet 2003 à 12:23:55

CreateFile!!! mouarf, tu vas voir les défenseurs de la portabilité arriver à grand pas :)...

JeanYvesYves
JeanYvesYves
Niveau 10
01 juillet 2003 à 12:44:59

Vive STDIO :)

Kouic
Kouic
Niveau 9
01 juillet 2003 à 17:53:24

" et pkoi pas la bonne fonction windows de lecture binaire CreateFile . .."

blasphème!!
A witch ! witch ! witch !
Burn ! burn ! burn ! !

Lightness1024
Lightness1024
Niveau 10
02 juillet 2003 à 12:31:55

je le savais tres bien toute manière.
:snif2:
et puis je m´en fou, j´aime bien CreateFile et je la garde.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment