begin process at 2012 05 29 22:59:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

lecture de la derniere ligne dans un fichier texte ouvert avec ifstream


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

lecture de la derniere ligne dans un fichier texte ouvert avec ifstream

mercredi 21 juillet 2004 à 13:38:47 | lecture de la derniere ligne dans un fichier texte ouvert avec ifstream

indusine

Bonjours à tous,je voudrais lire la derniere ligne d'un fichier texte ouvert en lecture avec ifstream.
Dans mon application(MFC AppWizard exe)Visual C++,j'ouvre ce fichier en ecriture avec ofstream dans d'autre
evenements.
Ce fichier comporte l'etat des boutons.
Mais je dois pouvoir ecrire dans le fichier texte hors de mon application et pouvoir interpreter son contenu
dans l'application.
Voici mon code et ce que j'ai obtenu avec est une chaine vide.


void CTtDlg::OnViewFile()
{
char ligne[30];

// ouverture en lecture.
// ios::app pointeur au debut du fichier
ifstream train("fic.txt",ios::app);

AfxMessageBox("ligne par ligne");


//Affichage du contenu du fichier ligne par ligne
while (train.getline (ligne,sizeof(ligne)));


AfxMessageBox(ligne);


//la derniere ligne affichée est une chaine vide je voudrai atteidre la ligne d'avant.



train.close(); // fermeture du fichier
}

j'ai essayé de faire un seek de la fin puisque je connais taille des chaines ecrites dans le fichier
//train.Seek(30,STREAM_SEEK_END,NULL);
mais je n'ai pas trouvé de méthode supporté par ifstream

Il existe une methode seekg(nbr octets) qui fait un saut du début le nbr octets étant
la taille du fichier-30
//train.seekg(taille-30);
mais je n'ai trouvé aucun moyen de calculer la taille avec ifstream

TRES IMPORTANT
je dois pouvoir conserver cette ligne dans une chaine de charactéres
//train.getline (ligne,sizeof(ligne));
avec getline je peux conserver la ligne lu dans la chaine ligne.
Merci d'avance.
jeudi 22 juillet 2004 à 00:40:15 | Re : lecture de la derniere ligne dans un fichier texte ouvert avec ifstream

djl

ou tu a vu que ios::app c'etait le debut du fichier ? c'est la fin et c'est pour ca que tu lis rien dans ton while

lis la doc...



#include <iostream>
#include <fstream>

int main()
{

std::ifstream file("toto.txt");

std::string str;
while( std::getline( file, str ) );

std::cout << str << '\n';
}

jeudi 22 juillet 2004 à 08:52:44 | Re : lecture de la derniere ligne dans un fichier texte ouvert avec ifstream

indusine

Effectivement je me suis gourrer. ios::app pointe à la fin du fichier.j'ai enlever ce ios::app.
je lis le contenu du fichier dans le while .mais apres j'ai besoin d'effectuer des opérations de comparaison sur la variable ligne mais je retrouve une variable qui contient une chaine vide.
jeudi 22 juillet 2004 à 18:52:41 | Re : lecture de la derniere ligne dans un fichier texte ouvert avec ifstream

djl

pense à utiliser les nouveaux flux et essay d'orienter ton code plus c++, c'est à dire en utilisant le type string qui est la pour te faciliter la tache

tu peux essayer mon code tres simple et qui fonctionne

autre chose :
train.close(); // fermeture du fichier

c'est inutile, surtout avant la fin du bloc, le destructeur appel lui meme la methode close()


Cette discussion est classée dans : fichier, lecture, ligne, train, ifstream


Répondre à ce message

Sujets en rapport avec ce message

lecture de fichier [ par Machuet ] Hello, j'ai plusieurs question concernant la manipulation de fichier. En effet venant de VB, j'aimerais savoir si il existe des fonction pour lire un Lecture sur un fichier par ligne [ par gagaet22 ] Bonjour, Je cherche à lire sur un fichier ligne par ligne.J utilise fscanf et il s arrete des qu il y a un espace... Je cherche donc une fonction qui conversion de fichiers [ par sergio18 ] salutJe fais un projet où je dois faire une conversion du fichier.POur cela le prof qui me suit m'a demandé d'effectuer ds un premier temps une lectur Comment se positionner sur une ligne dans un ifstream? [ par mcrogiez ] Bonjour à tous,Mon problème est très simple, cependant, je n'arrive pas à le résoudre.En C++, j'utilise des objets de type ofstream et ifstream afin d C => lecture d'un fichier texte [ par lapeto_k ] J'ai un fichier "fichier.txt" dans lequel LA ligne suivante apparait "library1#library2#library3#........"Ce que je voudrai c'est stocker les characte utilisation de ifstream [ par gromito ] salut,j'essaye de réaliser une application me permettant de lire dans un fichier mais j 'ai quelques problemes.comment je dois m'y prendre pour réalis lecture d'un fichier ligne par ligne [ par oudkaramla ] salut à tous,j'ai un problème: j'ai un fichier texte contenant quatre lignes.moi je veux lire ces quatre lignes et les stocker chacun dans une variabl lecture fichier mot par mot [ par goutbouyo ] Salut,est il posible de lire dans un fichier mot par mot (et non ligne par ligne) ???Car quand je lit ligne par ligne, pour un mot ca me met : le mot Lecture de fichier [ par minet03 ] Hello tout le monde !Je voulais vous demander comment on fait pour lire ligne par linge dans un fichier. J'ai déjà mis : fgets(ligne, 255, fichier); f lecture fichier C++ [ par biscot19 ] bonjour, je voudrais savoir comment faire pour lire un fichier ligne par ligne par exemple je demande a mon prog de lire la 3eme ligne il doit me reto


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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,265 sec (4)

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