Count et ifstream

sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 - 17 mars 2004 à 12:53
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 - 19 mars 2004 à 17:29
j'ai deux probleme
1)comment on utilise un ifstream pour lire un fichier contenat des infos texte sur le disque
2)j'essay d'ecrie un algorytme de cryptage mais pkoi ca marche pas ca (c sense savoir combien il y a d'occuren pour la lettre e):
char *p=new char[300];
cou<<"entrer le texte a crypter"<<endl;
cin>>p;
int size;
count(p,p+size,'ee);

8 réponses

D1m3x Messages postés 402 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 21 juillet 2005 1
17 mars 2004 à 14:33
Bon alors, spour lire dans un fichier avec les ifstream tu peux tout simplement faire:

ifstream file ( "file.txt" );

string str;

while ( file << str )
{
...
}

rien de plus simple mais tu px ossi utiliser le getline( file, str ); ... ki recupere chak fois une ligne... :)

Ciao ;)

[DmX]
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
17 mars 2004 à 15:14
merci de t'as reponse j'ai reussi a ouvrir le dossier et pour y lire dedans j'ai essaey de faire ca mais ca marche pas le compilateur "gronde"
#include
#include <stdlib.h>
#include <fstream.h>
#include <ostream.h>
#include
#include <windows.h>
#include <string.h>
#include <map.h>
int main()
{

ifstream file ( "norm.txt" );

string str;

while ( file << str )
{
getline( file, str );
cout<<str;

}
char *t;
cout<<"appyer sur une touche pour terminer le prog";
cin>>t;

}
0
D1m3x Messages postés 402 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 21 juillet 2005 1
17 mars 2004 à 15:59
OUPs, je viens de voir que je me suis trompé, tu dois mettre:

while ( file >> str ) !!! lol :)

et puis c'est normal que ton compilo gronde, tu essaye d'attendre une touche alors que 't' est pas alloué, faudrait l'allouer d'abord et ensuite tu peux essayer de faire ton cin :)

petit cours c++:

tu m'as l'air plutôt orienté C++, alors oublie les .h!

include come ca:

#include
#include <cstdlib>
#include <windows.h>
#include <fstream>
#include <ostream>
#include <string>
#include <map>

et puis pour pouvoir utiliser les trus de la STL:

using namespace std;

et puis pour remplacer les pointeurs tu peux utiliser les vector! renseigne toi la dessus c'est super et plus de pb dalloc!! ;)

Ciao bone prog :)

[DmX]
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
17 mars 2004 à 16:09
d'ac je vais suivre tes conseil je suis en train d'etudier les vecteur mais j'ai pas compris l'utiliter des espace de nom
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
17 mars 2004 à 16:12
d'ac je vais suivre tes conseil je suis en train d'etudier les vecteur mais j'ai pas compris l'utiliter des espace de nom
mais avec la ligne string str; je l'ai remplacer par char *str;
mais j'ai deux autre probleme:

implicit declaration of function `int getline(...)'
warning: cannot pass objects of type `ifstream' through `...'
merci pour tes reponses
t'aurais pas une idee pour mon premier probleme au premier topic
mais encore merci
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
17 mars 2004 à 16:14
mes prob pour un troisieme

no matching function for call to `getline (ifstream &, char *&)'
0
D1m3x Messages postés 402 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 21 juillet 2005 1
17 mars 2004 à 19:04
C'est normal que tu obtienne cette erreur si tu a inclu les fichier comme je te l'ai dit, tu n'as probablement pas écris le:

using namespace std;

ce qui te permet d'utiliser toutes les utilitees de ce namespace, pour plus d'infos la dessus: http://msdn.microsoft.com/library :)

tu ne peux pas utiliser un char * dans la fonction getline () ! le deuxieme argument doit etre un string, ... :)

[DmX]
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
19 mars 2004 à 17:29
et maintenant tous ce compile mais rien ne s'affiche :
#include
#include <stdlib.h>
#include <fstream>
#include <ostream.h>
#include
#include <windows.h>
#include <string>
#include <map>
int main()
{
using namespace std;
string str;
ifstream file ( "norm.txt" );
cout<<"ouverture du fichier"<<endl;
while ( file >> str )
{
getline( file, str );
cout<<str;

}
using namespace std;
char *t=new char[10];
cout<<"appyer sur une touche pour terminer le prog";
cin>>t;

}
0
Rejoignez-nous