Question en c++ [Résolu]

Signaler
-
 SHILI0 -
salut a tout,
je veux lire des entiers séparés par une tabulation '\t' mis dans un fichier d'entré en c++
exemple de fichier d'entrée:
1 4
1 15
5 15
122 8
12 13
12 18
13 7
17 4
1722 5
17 1811
18 12
1810 1300
je travail avec l'idée de parcourir le ligne et stocké la valeur qui est avant la tabulation dans un variable et l'entier après la tabulation dans un autre variable.
voila mon code qui ne fonctionne pas correctement
string in_fichier;
ifstream f1(in_fichier.c_str());
f1.open(in_fichier.c_str());

string entier1;
string entier2;
istringstream fluxE1;
istringstream fluxE2;
int e1;
int e2;
while (getline(f1,l)) //tant que l'on trouve des lignes dans le fichier
{

for ( i=0; l[i]!='\t'; i++) //on prend le premier entier de la ligne
{
entier1[i]=l[i];

}
fluxE1.str(entier1.c_str());
fluxE1>>e1;
fluxE1.clear();


for ( j=1 ;l[j]!='\0'; j++) //puis le 2eme apres la tabulation
{
entier2[j-1]=l[j];
}

fluxE2.str(entier2.c_str());
fluxE2>>e2;
fluxE2.clear();

2 réponses

Messages postés
3819
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
28 septembre 2020
113
Bonjour.

À l'avenir, merci d'utiliser les balises de code !

Ton code est tout de même très compliqué. C'est pourtant très simple à faire, il suffit d'utiliser "l'operateur<<". Renseigne toi sur les possibilités offertes par les iostream, ça te facilitera beaucoup la vie ;)

Exemple:
std::ifstream file(in_fichier.c_str());
int value1 = 0;
int value2 = 0;

while (file >> value1 >> value2)
{
  std::cout << "=> " << value1 << " " << value2 << std::endl;
}



________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
j'ai déjà trouvé la réponse qui est plus simple que ça
je vous remercie