yanlou
Messages postés119Date d'inscriptiondimanche 30 septembre 2007StatutMembreDernière intervention11 août 2010
-
4 juil. 2008 à 12:26
yanlou
Messages postés119Date d'inscriptiondimanche 30 septembre 2007StatutMembreDernière intervention11 août 2010
-
4 juil. 2008 à 15:51
salut,
voici mon problmé, je veux lire un fichier txt, je le fais avec la fonction getline. voici le code :
#include <string>
#include <fstream>
#include
int main()
{
// le constructeur de ifstream permet d'ouvrir un fichier en lecture
std::ifstream fichier( "strtok esséye.txt" );
if ( fichier ) // ce test échoue si le fichier n'est pas ouvert
{
std::string ligne; // variable contenant chaque ligne lue
// cette boucle s'arrête dès qu'une erreur de lecture survient
while ( std::getline( fichier, ligne ) )
{
// afficher la ligne à l'écran
std::cout << ligne << std::endl;
}
}
}
le fichier que je lis contient des chaine de caractére comme suit :
123à12123
1à143
123à2352
et j'ai la fonction strtok qui m'enléve le caractére "à" et qui m'afiche seulement les chiffre, dans le code est
BunoCS
Messages postés15475Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention23 avril 2024103 4 juil. 2008 à 14:13
Et ben? Tu ne vois vraiment pas?
Bon, on récapitule:
- tu as un code qui, à chaque itération, affiche une ligne d'un fichier
- tu as un code qui récupère des chiffres dans une chaine de caractères
Si tu mets l'action de la 2e phrase dans la 1ère, tu obtiens quoi?
Tu vois ce que je sous-entend?
Bien sûr, il y a une petite conversion de données à faire...
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
yanlou
Messages postés119Date d'inscriptiondimanche 30 septembre 2007StatutMembreDernière intervention11 août 2010 4 juil. 2008 à 14:38
merçi pour la réponse mais je comprend ce que vous dite, le probléme c'st que je n'arrive pas a récupèré les chiffres à partir des ligne de mon fichier txt !!
BunoCS
Messages postés15475Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention23 avril 2024103 4 juil. 2008 à 15:35
Bon, ok.
J'avais un peu de temps devant moi, j'ai donc écrit le code suivant
#include <string>
#include <fstream>
#include
using namespace std;
int main()
{
// le constructeur de ifstream permet d'ouvrir un fichier en lecture
ifstream fichier("test.txt");
if (fichier) // ce test échoue si le fichier n'est pas ouvert
{
string ligne; // variable contenant chaque ligne lue
// cette boucle s'arrête dès qu'une erreur de lecture survient
while (getline(fichier,ligne))
{
// afficher la ligne à l'écran
cout << ligne << endl;
// Récupération de la position du séparateur
size_t pos=ligne.find_first_of("à");
// la sous-chaine de gauche donne le 1er entier
int a=atoi(ligne.substr(0,pos).data());
// la sous-chaine de droite, le second
int b=atoi(ligne.substr(pos+1).data());
// Affichage du résultat
cout << a << " " << b << endl;
}
}
fichier.close();
}
A noter que:
- "à123" retourne "0 123"
- "123à" retourne "123 0"
- "123" retourne "123 123"
- "à" retourne "0 0"
ça te va?
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage