yanlou
Messages postés119Date d'inscriptiondimanche 30 septembre 2007StatutMembreDernière intervention11 août 2010
-
8 juil. 2008 à 12:02
yanlou
Messages postés119Date d'inscriptiondimanche 30 septembre 2007StatutMembreDernière intervention11 août 2010
-
9 juil. 2008 à 11:42
j'ai un fichier txt ou ya des informations que je veux metre dans un autre fichier mais pas toute, donc je veux choisir les chaine de caractére que je veux recopié.
exemple :
fichier de debart
4100 M RFRPAD8/A8 2063à2093 12361
2000 A RFRPAA8 2094à2124 52443
resultat attendu :
4100 RFRPAD8/A8
2000 RFRPAA8
voici mon code mais c just pour recopié un fichier dans un autre
ma question c'est :
est ce qu'il ya une façon pour choisir les chaire de caractére qu'on veux affiché, un truc comme donné la position de la chaine qu'on veux affiché.
NB: j'ai cherché dans google mais je n'ai pas trouvé grand chose
merçi d'avance
maximus
BunoCS
Messages postés15475Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention23 avril 2024103 8 juil. 2008 à 15:12
A méditer
#include <string>
#include <fstream>
#include
using namespace std;
int main()
{
ifstream fichier("fichier.txt");
ofstream sortie("sortie.txt");
if (fichier)
{
string ligne;
while (getline(fichier,ligne))
{
// Récupération 1er champ et écriture dans le fichier
size_t pos=ligne.find_first_of(" ");
sortie << ligne.substr(0,pos) << " ";
// Saut du 2e saut
pos=ligne.find_first_of(" ",pos+1);
// Récupération du 3e champ et écriture dans le fichier
size_t pos2=ligne.find_first_of(" ",pos+1);
sortie << ligne.substr(pos+1,pos2-pos) << endl;
}
}
fichier.close();
sortie.close();
}
@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
yanlou
Messages postés119Date d'inscriptiondimanche 30 septembre 2007StatutMembreDernière intervention11 août 2010 9 juil. 2008 à 11:42
bein, voila c'été about du nez !!
#include <string>
#include <fstream>
#include
using namespace std;
int main()
{
ifstream fichier("proto.txt");
ofstream sortie("test.txt");
if (fichier)
{
string ligne;
while (getline(fichier,ligne))
{
// Récupération 1er champ et écriture dans le fichier
size_t pos0=ligne.find_first_of(";");
sortie << ligne.substr(0,pos0) << " " << endl;
// Récupération 2e champ et écriture dans le fichier
size_t pos1=ligne.find_first_of(";",pos0+1);
// Récupération 3e champ et écriture dans le fichier
size_t pos2=ligne.find_first_of(";",pos1+1);
sortie << ligne.substr(pos1+1,pos2-pos1-1) << endl;
// Récupération 4e champ et écriture dans le fichier
size_t pos3=ligne.find_first_of(";",pos2+1);
sortie << ligne.substr(pos2+1,pos2-2-pos1) << endl;
// Récupération 5e champ et écriture dans le fichier
size_t pos4=ligne.find_first_of(";",pos2+1);
sortie << ligne.substr(pos3+1,pos3+1-pos0+1) << endl;
}
}
cs_laurent1024
Messages postés987Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention30 août 201225 8 juil. 2008 à 12:44
Bonjour.
Il suffit de faire une fonction qui découpe la chaines de caractères en plusieurs "mots" et après sélectionner les "mots" qui t'intéresses.
Cdt
yanlou
Messages postés119Date d'inscriptiondimanche 30 septembre 2007StatutMembreDernière intervention11 août 2010 8 juil. 2008 à 12:49
salut, bein j'ai deja la chaine de caractére decoupé en plusieur mot c'est fichier .csv
en plus c'est un grand fichier que je doit manipuler 479 lignes.
je pense que je doit travail est avec la position des mot !!!
maximus
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_laurent1024
Messages postés987Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention30 août 201225 8 juil. 2008 à 13:38
Pourquoi parles tu d'un .csv ?
dans ton fichier tu as que tu as
4100 M RFRPAD8/A8 2063à2093 12361
il suffit de découper en sous chaine "ligne" dans un tableau (ou dans une liste) en utilisant l'espace comme séparateur
4100
M
RFRPAD8/A8
2063à2093
12361
Il te suffit ensuite de prendre les champs utiles.
Cdt
yanlou
Messages postés119Date d'inscriptiondimanche 30 septembre 2007StatutMembreDernière intervention11 août 2010 8 juil. 2008 à 16:19
oui, je médite :p, je croi que pour l'algo, je les déja fais c vrai que j'ai répartitionné les tache en des petit code pour que ça sois plus facile à les trouvé mes je crois qu'il me reste du travail à fair.
merçi pour les consiel