begin process at 2012 05 28 21:42:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Divers

 > 

Comment recuperer tous le contenu d'un fichier (avec saut de ligne et en c++) ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment recuperer tous le contenu d'un fichier (avec saut de ligne et en c++) ?

mercredi 27 septembre 2006 à 14:52:11 | Comment recuperer tous le contenu d'un fichier (avec saut de ligne et en c++) ?

ndubien

Membre Club
Bonjour,

Je cherche à savoir comment il faut faire pour prendre tous le contenu d'un fichier (texte) possedant des retours à la ligne!

J'ai l'hbitude de fare :

#include <iostream>
#include <fstream>
#include <string>

[...]
ifstream file("file.type");
string texte;
getline(file,texte);
[...]

Mais "texte" à la valeur de la premiere ligne du fichier ("file.type") et non du fichier complet!


Comment faire pour que "texte" ait la valeur du fichier complet et pas seulement celle de la première ligne?
Pouvez-vous m'aidez?

Je vous remercie d'avance pour votre future réponse!

Nico
mercredi 27 septembre 2006 à 15:09:57 | Re : Comment recuperer tous le contenu d'un fichier (avec saut de ligne et en c++) ?

buno

Administrateur CodeS-SourceS
Voici ce que tu peux faire:

bool RetrieveDataFromFile(char * FileName)
{
  std::ifstream Input;
  unsigned long FileSize;

  // Open the specified file
  Input.open(FileName,std::ios::binary);
  if(Input==NULL)
    return false;

  // Get file size
  Input.seekg(0,std::ios_base::end);
  FileSize=Input.tellg();
  Input.seekg(0,std::ios_base::beg);

  // Allocate some space
  if(m_Data)
  {
    delete [] m_Data;
    m_Data=NULL;
  }

  m_Data=new unsigned char[FileSize];
  if(m_Data==NULL)
  {
    Input.close();
    return false;
  }

  // Read the file into memory
  Input.read((char*)m_Data,FileSize);

  // End
  Input.close();
  return true;
}

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
mercredi 27 septembre 2006 à 15:11:37 | Re : Comment recuperer tous le contenu d'un fichier (avec saut de ligne et en c++) ?

buno

Administrateur CodeS-SourceS
Oups...
J'ai oublié de dire que, dans mon exemple, m_Data est un tableau d'unsigned char.
Mais je pense que tu l'avais compris...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
jeudi 28 septembre 2006 à 18:02:46 | Re : Comment recuperer tous le contenu d'un fichier (avec saut de ligne et en c++) ?

buno

Administrateur CodeS-SourceS
En fait, je ne sais pas trop quelle manière est la mieux en terme de performance:
- soit calculer la taille du fichier, allouer un buffer en conséquence et tout lire dedans (2 parcours de fichier)
- soit lire un par par les caractères du fichier jusqu'au caractère de fin (beaucoup d'accès au fichier)
- soit allouer un buffer de taille fixe BUFFER_SIZE, de lire BUFFER_SIZE caractères et de boucler si la taille du fichier est supérieure à BUFFER_SIZE

Si quelqu'un a une opinion là-dessus...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage


Cette discussion est classée dans : fichier, ligne, texte, file, contenu


Répondre à ce message

Sujets en rapport avec ce message

Recherche une ligne dans un fichier texte [ par kamelDEA ] Bonjour,J'ai un fichier texte qui contient 100 ligne.chaque ligne est composée de 4 valeurs décimales (valeur de probabilité)J'arrive pas à touver la pb avec tableau et fichier texte [ par krolanta ] Voila mon pb é que g un fichier texte avec des coordonnées et que je voudrais mettre chaque coordonnées ds une case du tableau.En fait ca revient a li Pb de gestion de fichier avec fstream [ par Bub325 ] Salut,J'ai deux problème distinct avec fstream, Le premier est que lorsque j'arrive à la fin d'un fichier, je ne peut plus revenir plus haut dans ce d saut de ligne dans un fichier texte [ par milhandril ] Je souhaite enregistrer des valeurs saisies dans une boite de dialogue dans un fichier texte, chaque champ est délimté par le caractère ";" et je souh Lire un fichier Texte Ligne par ligne [ par Ricpperso ] Bonjour,bon je fai un pti proget je voudrai savoir comment on fais pour lire un fichier Texte ligne par ligne, avec si possible le Cfile.merci d'avanc Lire une ligne d'un fichier texte [ par CassusGreg ] Salut à tous,Est-ce-qu'il existe une fonction pour lire une ligne de texte (terminé par 0x0D 0x0A) dans un fichier?Je suis sous VC++ 6merci fichier texte [ par codavi ] Bonjour, Voilà, je viens de décrouvrir ce forum et je souhaiterais que quelqu'un m'apporte un peu d'aide. Je veux pouvoir lire/ecrire dans un fichier String table et fichier texte [ par Marsin ] Bonjours, je cherche comment ecrire le contenu d'un fichier texte dans une string table. le but c de rendre une application multilanguage, le soft doi lire une ligne dans un fichier texte puis........ [ par oudkaramla ] salut out le monde,je veux lire 3 lignes d'un fichier texte, puis faire le découpage de chaque ligne en petits morceauxje sais qu'il ft faire fopen() ecriture fichier ligne [ par PepeDeLuxe ] Hello Voila j'ai un problème que je n'arrive pas à résoudre pour un projet, si quelqu'un pouvait m'aider ça serait sympa.. Je voudrais écrire le dans


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales