Sélectionner une colonne de données à partir d'un fichier TXT - C++ - Programmation
Marsh Posté le 22-02-2008 à 18:09:20
Exemple:
ifstream f_entree("Cours_Action_S.txt", ios::in);
for(unsigned int i = 0; i < dim; i++)
{
f_entree >> S[i];
}
avc f_entree le flux entrant pour remplir mon tableau S le problème est que le fichier Cours_Action_S.txt est constitué de deux colonnes. Or je ne souhaite recopier que la deuxième ! Comment puis je faire ? Auriez vous des réponses, idées etc. ...
Merci de votre aide
Marsh Posté le 22-02-2008 à 18:57:35
tu ouvres ton fichier, tu lis ligne par ligne et tu tokenise chaque ligne avec genre boost::tokenizer. Tu gardes le deuxième élément et tu le push_back dans un std::vector.
boost::tokenizer: http://www.boost.org/libs/tokenizer/index.html
std::vector:http://www.sgi.com/tech/stl/Vector.html
Marsh Posté le 22-02-2008 à 19:21:05
Ok merci pour tes éléments de réponses. Je vais faire des recherches sur boost::tokenizer.
Marsh Posté le 22-02-2008 à 23:57:56
Personne n'aurait d'autre proposition à me faire pour résoudre mon problème. Je souhaite utiliser uniquement la deuxième colonne pour remplir mon tableau S.
Merci et bonne nuit
Marsh Posté le 23-02-2008 à 09:56:53
Bonjour,
Pas de réponses, toujours pas d'indice. Sinon, Joel ou quelqu un d'autre pourrait m'expliquer la méthode de tokenizer car je n'ai pas saisi.
Merci.
Marsh Posté le 23-02-2008 à 17:17:14
Toujours pas d'éléments de réponse mise à part tokenizer ? Sinon je vais faire un simple copier/coller de ma colonne voulu dans un autre fichier et utiliser mon code ci dessus pour le remplir. Mais bon ce n'est pas pratique...
Merci tout de même d'essayer de m'aider.
Bonne soirée.
Marsh Posté le 23-02-2008 à 18:18:13
t'as quand même un exemple d'une trivialité sans nom avec tokenizer. Faudrait voir à lire les docs et cliquer sur les liens
Marsh Posté le 23-02-2008 à 19:00:57
D'une trivialité sans nom certes mais ça dépend pour qui... Je suis allé consulter tes liens et d'autres documents d'ailleurs ! Ceux là ne m'ont pas permis d'assimiler cette notion ! Donc si tu as la gentillesse de m'éclairer, je suis preneur. Autrement, j'attends l'aide d'autres personnes plus explicites !
Marsh Posté le 23-02-2008 à 20:45:55
Rajoute à ta TODO LIST :
1/ apprendre l'anglais
2/ se sortir les doigts
Sinon :
Code :
|
Marsh Posté le 23-02-2008 à 22:01:51
Ok merci, je vais étudier et essayer d'assimiler ton code afin de le comprendre. Je ne connais pas encore toutes les subtilités du C++. J'apprends... D'ailleurs, connaitrais tu un excellent livre de C++ pour approfondir mes connaissances.
Merci pour ton aide
Marsh Posté le 23-02-2008 à 23:31:05
http://cpp.developpez.com/cours/polyCpp/
http://cpp.developpez.com/cours/cppavance/
http://cpp.developpez.com/cours/stl/
lire les 3, dans cette ordre
Marsh Posté le 10-06-2008 à 22:49:19
Bonjour,
je suis désolé de faire remonter ce topic,
mais je rencontre le meme problème mais en C++.NET, je travaille avec Visual C++ Express 2008 et la méthode de Joel F ne fonctionne pas dans ce cas.
Pourriez vous m'aider s'il vous plait ?
Marsh Posté le 10-06-2008 à 23:24:29
C++.NET = CLI et code managé c'est bien ça ?
bah si c'ets le cas, c'ets DTC, car BOOST est une lib C++ pas C++.NET
doit bien avoir moult classe NET pr faire ça ?
Marsh Posté le 11-06-2008 à 09:15:38
Joel F a écrit : C++.NET = CLI et code managé c'est bien ça ? |
Je pense surtout que faire un #include<boost/*> ça marche pas chez lui comme par hasard.
Marsh Posté le 11-06-2008 à 13:58:44
Oui en effet Joel, je ne peux pas utiliser boost. Il faut utliser split().
Je n'arrive pas a faire fonctionner ce code qui est censé récuperer les donnes_en_z sur deux colonnes pour les mettre dans un autre fichier en une seule colonne (c'est un exemple). Il écrit uniquement la dernière ligne de mon premier fichier.
Si quelqu'un connait le .net...:
Code :
|
Merci beaucoup
Marsh Posté le 11-06-2008 à 16:09:55
/me tient les cheveux de Joel pendant qu'il vomit
Marsh Posté le 23-06-2008 à 00:00:05
Reply
Marsh Posté le 22-02-2008 à 15:10:35
Bonjour à tous,
J'ai 2 question à vous poser afin de pouvoir avancer dans mon code.
1) J'ai un fichier TXT qui constitue mes données (2 colonnes). Je souhaiterai à partir de ce fichier remplir un tableau à 1D avec uniquement les nombres se trouvant dans la 2ème colonne.
Je programme en C++ (du moins j'essaie car j'apprends un peu chaque jour et notamment grâce à ce forum) et utilise DEV C++.
2) Ensuite la 2ème question, je désire inverser l'odre d'un fichier TXT càd que la 1ère ligne devienne la dernière et que la dernière devienne la 1ère etc. ...
Merci d'avance pour votre aide.