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

News White Globule Machine (projet SDL)

News jeu

Expeditions: Samurai veut révolutionner le RPG tactique avec une aventure entièrement jouable en coop

Voir
techslash
techslash
Niveau 8
15 août 2005 à 00:42:51

En ce qui concerne les fichiers, je peux te donner la réponse ( comme je disais, c´est pas compliqué, c´est juste quelque chose à savoir)...

La première étape c´est de savoir combien de caractères il faut lire...

En ASCII ( fichier txt) 1 caractère = 1 byte = 8 bits.

Donc finalement on veut la taille du fichier. On va utiliser fread(...) pour lire alors on veut la taille en byte.

Il y a plusieurs façon de faire ça, en voici une ( tu m´excuseras si j´te donne du code avec des noms en anglais -- c´est l´habitude -- et le forum aime pas les tabulations alors tu vas devoir les refaire, heh):

  1. include < sys/stat.h>

int getFileSize(const char *filename)
{
struct stat results;
if(stat(filename, &) == 0)
{
return results.st_size;
}
else
{
return -1;
}
}

Cette fonction là retourne la taille du fichier dont tu passes le path en paramètre... du genre

int size = getFileSize("monfichier.txt");

Si une erreur a lieu, la fonction retourne -1.

Une fois que tu as la taille tu peux lire avec un buffer dynamique. Quelque chose du genre ( en utilisant les fonctions de stdio.h):

char *buffer = new char[size + 1];
FILE *txt = fopen("monfichier.txt", " rb");
fread(buffer, size, 1, txt);
buffer[size] = ´\0´;
cout < < buffer;
delete[] buffer;

et voilà...

Dans tout ça on a de l´allocation dynamique de la mémoire ( c´est vital de bien comprendre ça) et des fonctions standards pour lire des fichiers ( plutôt vital aussi).

En ce qui concerne `struct stat results`, c´est un objet définit dans sys/stat.h qui sert à obtenir des statistiques sur différentes choses. Pas vraiment vital mais intéressant quand même.

Yay, regarde maman, je partage mes connaissances :cool: .

Si jamais un grand gourou d´la prog lit ça, j´aimerais savoir si les trucs dans sys/stat.h sont portables ? J´en doute hehe.

le_rider-killer
le_rider-killer
Niveau 6
15 août 2005 à 12:59:59

Ouah merci c´est très bien expliquer.
Mais je vois toujour pas a quoi sa peut servir dans mon cas :question:

dynoplasmma
dynoplasmma
Niveau 9
15 août 2005 à 13:00:42

Perso, je prefere les lapins que les pintades :)

techslash
techslash
Niveau 8
15 août 2005 à 20:04:31

Ça peut servir à plein de chose ( lire un . ini notamment...).

le_rider-killer
le_rider-killer
Niveau 6
15 août 2005 à 23:25:10

d´accord
merci beaucoup.

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