begin process at 2012 05 29 10:10:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

isoler des nombres dans un fichier texte


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

isoler des nombres dans un fichier texte

jeudi 8 avril 2004 à 10:55:19 | isoler des nombres dans un fichier texte

playmo420

Salut
J'ai un (gros) probleme avec un fichier texte presente de la maniere suivante :

(1,3,1)
(2,3,5)
(2,5,10)
(2,1,10)
(2,4,4)
...

Il faut que je reussisse a isoler les 3 nombres de chaque ligne pour les mettre dans un tableau mais vu que ce n'est pas un fichier data, je ne vois absolument pas comment faire... Pour l'instant j'ai le code suivant :

// test lecture lookup file
# include <iostream>
# include <fstream.h>

int main(){
char str [80];
ifstream infile ("lookup.txt", ios::in);

while(infile.getline (str, 80, '\n')){
// mettre les nombres dans le tableau...
//std::cout<<str<<std::endl;
};
infile.close();

system("pause");
return 0;
}

Si quelqun pouvais me filer un coup de main ca serait vraiment sympa.
PS: desole pour les accents mais je suis en Irlande en ce moment, donc clavier QWERTY ;)
jeudi 8 avril 2004 à 11:02:25 | Re : isoler des nombres dans un fichier texte

c2millet

utilise fopen() et fgets() pour gérer ton fichier
Cmill
jeudi 8 avril 2004 à 12:08:12 | Re : isoler des nombres dans un fichier texte

hilairenicolas


il faut que tu parcoures ta chaine str et tant que c'est un chiffre, l'isoler dans une variable et la convertir
jeudi 8 avril 2004 à 12:20:26 | Re : isoler des nombres dans un fichier texte

djl


ya encore plus simple avec les stringstream



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

using namespace std;

void parse_line(const string& s, int tab[]) {

istringstream iss(s);
char c;

iss>>c>>tab[0]>>c>>tab[1]>>c>>tab[2];
}


int main()
{
string buff;
ifstream infile("gg.txt");
int tab[100][3], i=0;

while( infile >> buff )
{
parse_line(buff,tab[i]);
cout<<tab[i][0]<<'\t'<<tab[i][1]<<'\t'<<tab[i][2]<<'\n';
cin.get();
i++;
}

}
jeudi 8 avril 2004 à 12:29:41 | Re : isoler des nombres dans un fichier texte

playmo420

@djl
Je ne sait pas si ton code fonctionne etant donne qu'un nombre peut tenir sur deux caracteres, donc un 10 me donnerais 1 et 0 et pas 10... enfin je sais pas faudra que j'essaye. Mais c'est bon j'ai trouve la solution. Vla le code, ca pourra peut etre interesser qqun :

void fillLookupTab(){
ifstream infile (lkupfile, ios::in);
int a,b,c,meter(0),tmp(1);
char str [80];
if (infile) {
while(!infile.eof()){
if(infile.peek()=='(') infile.get();
infile >> a;
if(infile.peek()==',') infile.get();
infile >> b;
if(infile.peek()==',') infile.get();
infile >> c;
if(infile.peek()==')') infile.get();
infile.getline(str,80,'\n');
lookup[a-1][meter][0]=b;
lookup[a-1][meter][1]=c;
if(tmp==a) meter++;
else meter=0;
tmp=a;
}
infile.close();
}

Le seul probleme c'est que j'utilise le getline seulement pour changer de ligne... Donc si qqun sait comment passer une ligne en utilisant l'operateur >> ca serait plus beau...

merci qd meme pour vos conseils
jeudi 8 avril 2004 à 12:35:44 | Re : isoler des nombres dans un fichier texte

djl



'\n' ferme le buffer donc ya pas de pb avec >>

et mon code fonctionne tres bien, tu connais un peu les flux ?

int n=10;

cout<<n; tu crois que ca va afficher 1??
jeudi 8 avril 2004 à 12:56:44 | Re : isoler des nombres dans un fichier texte

playmo420

desole djil mais je ne suis pas un expert en C++ et je posais juste une question, je n'ai jamais dit que ton code ne marchait pas...
jeudi 8 avril 2004 à 13:08:02 | Re : isoler des nombres dans un fichier texte

djl


ok, scuz si g ete un peu sec,

g v t'expliquer

// on construit istringstream a partir de la chaine s
istringstream iss(s);
// c juste un char vu que les separateur sont des caracteres ',' ')' '(' ...
char c;

// tu te sert d'un istringstream comme cin, sauf que son buffer contient s, c'est a dire une ligne de ton fichier
iss>>c>>tab[0]>>c>>tab[1]>>c>>tab[2];
jeudi 8 avril 2004 à 13:58:47 | Re : isoler des nombres dans un fichier texte
mercredi 1 juin 2005 à 11:22:05 | Re : isoler des nombres dans un fichier texte

nicosh

es-ce-que les flux marchent avec des lignes du style :0.55 4 0.012 1.456 0.45sachant que les points sont pour des nombres a virgules ;) et essayer de les mettre directement dans une structure (ou une classe puisque C++)struct coin{float x;float y;float z;}...infile>>coin;es-ce-que ca peut le faire ?

1 2

Cette discussion est classée dans : fichier, texte, str, nombres, isoler


Répondre à ce message

Sujets en rapport avec ce message

Lire un fichier sur le net [ par Arnauti ] Bonjour, j'arrive a ouvrir un fichier texte qui est sur mon PC de cette façon :  FILE *fichier;  int i,num_ligne,temoin=1;  char str[80],str_2[80];  f Fichier texte [ par spike666 ] Etant tres nul... et ne preférant pas chercher 3h des morceaux de codes pour finir sur un truc ki marchera pas je vais demander directement ce que je Lire dans un fichier [ par tony_73 ] <img style="BORDER-LEFT-COLOR: black; BORDER-BOTTOM-COLOR: black; BORDER-TOP-COLOR: black; BORDER-RIGHT-COLOR: black; border-size: 1px" src="/gdi/um/5 ofstream et écriture dans un fichier texte [ par bobybx ] Bonjour,J'ai une question peut-être bête mais je suis bloqué :J'ai un fichier texte avec 3 lignesligne 1ligne 2ligne 3Le contenu de ces lignes varient Recuperer des données dans un fichier [ par tony_73 ] Bonjour.voila je suis debutant en dot.net et j'aimerais faire une interface sur lequel toutes mes données (titre de fenetre, texte de label, etc..) do [.NET] fichier texte + indice [ par fab3131 ] Bonjour à tousEnfait j'ai un fichier texte sur le disque dur et lorsque j'appui sur un bouton il me le déplace dans un autre endroit, j'utilise pour ç Sauvegarder float en fichier texte [ par kididouille ] Bonjour, j'ai un tableau de float et j'aimerai l'enregistrer dans un fichier texte.A l'ouverture de ce fichier texte (avec le bloc note par exemple) j lire d'une ficjier texte et affichage d'une matrice [ par Stiko ] slt,j ai un fichier texte danslequele se trouve une matrice dont les membres sonr séparés par des point- virgule.comment par un programme C++ je peux Problème avec les flux [ par nisaloncaje ] Bonjour, j'ai le code suivant :struct txt{const char* texte; }; int main(){stringstream message,message2;int var1=5,var2=7;txt txtniv; mess fichiers texte (windows/unix) [ par Lapin0u ] Bonjour tout le monde,J'ai un petit problème qui me semble insoluble et j'ai besoin de vos lumières. Quelqu'un m'envoie un fichier texte avec un progr


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

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