Combiner deux fichiers texte

Fermé
Biscwii Messages postés 5 Date d'inscription vendredi 17 avril 2009 Statut Membre Dernière intervention 13 avril 2010 - 13 avril 2010 à 13:06
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 13 avril 2010 à 14:54
Bonjour a tous,
J'espère me trouver dans la partie appropriée..
Alors voila ma question est un peu bête, j'ai bien fait des recherches mais je trouve pas la réponse.
J'ai deux fichiers texte, qui se présentent comme ceci:

Le premier:

Nom	Artiste	Compositeur	Album	Regroupement	Genre	Taille	Durée	Nº du disque	Nombre de disques	Nº de la piste	Nombre de pistes	Année	Modifié le	Date de l'ajout	Débit	Fréq. d'échantillonnage	Réglage du volume	Type	Égaliseur	Commentaires	Nombre de lectures	Dernière lecture	Nombre de sauts	Dernier saut	Classement	Emplacement
We Need A Resolution (featuring Timbaland)	Aaliyah	S. Garrett/Static/Tim Mosley	Aaliyah		R&B	6011080	243			1		2001	02/05/2009 22:13	06/05/2009 18:13	196	44100		Fichier audio MPEG			19	05/04/2010 07:45	4	02/04/2010 17:34	80


Le deuxième:

Nom	Artiste	Compositeur	Album	Regroupement	Genre	Taille	Durée	Nº du disque	Nombre de disques	Nº de la piste	Nombre de pistes	Année	Modifié le	Date de l'ajout	Débit	Fréq. d'échantillonnage	Réglage du volume	Type	Égaliseur	Commentaires	Nombre de lectures	Dernière lecture	Nombre de sauts	Dernier saut	Classement	Emplacement
We Need A Resolution (featuring Timbaland)	Aaliyah	S. Garrett/Static/Tim Mosley	Aaliyah		R&B	6011080	243			1		2001	02/05/2009 22:13	13/04/2010 11:31	196	44100		Fichier audio MPEG			19	05/04/2010 07:45	4	02/04/2010 17:34	80	C:\Users\Anthony\Music\iTunes\iTunes Music\Aaliyah\Aaliyah\01 We Need A Resolution (featuring T.mp3



La mise en page est pas top, en fait il y'a une première ligne dans ces fichiers texte qui est le nom des entêtes, les autres lignes sont des titres de chanson et renseignent les différentes colonnes. (Certains auront surement remarqué que ceci provient d'un fichier iTunes ^^)

Ma question est simple: je voudrait savoir s'il était possible de copier l'emplacement qui se trouve dans le deuxième fichier texte, pour l'insérer dans le premier fichier texte, au bon endroit (c'est a dire après le "80"), et ce automatiquement pour toutes les autres lignes (il y'en a plusieurs centaines...)
Je cherche un moyen simple, si c'est possible (lol)

J'espère que ma question a été formulée clairement =)

Merci d'avance

2 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
Modifié par lami20j le 13/04/2010 à 14:03
Salut,

Si je comprends bien tu veux garder l'en-tête une fois et ensuite rajouter les lignes.
C'est bien ça?
Les champs sont séparés par une tabulation?


GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
13 avril 2010 à 14:11
Salut,

Non, apparemment il veut juste rajouter la dernière colonne du fichier 2 (emplacement) sur le fichier 1 (elle est absente/vide sur le fichier 1 sauf dans la ligne de titre)... enfin c'est ce que j'ai compris ;-\
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
13 avril 2010 à 14:22
Re,

Bon, je veux répondre à toi, mais ça ne va pas ce truc lami20j > lami20j
Comme dans ce genre de situation, avoir les fichiers c'est encore mieux pour comprendre.
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
13 avril 2010 à 14:24
Ben y'a les 2 premières lignes de chaque fichier, que veux-tu de plus ? ;-\
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
Modifié par lami20j le 13/04/2010 à 14:39
Ben, en ce cas il faut renommer tout simplement le fichier vu que le 2ème a le champ Emplacement rempli.

y'a les 2 premières lignes de chaque fichier
A priori il y a plusieurs centaines de lignes (pas plusieurs centaines de fichiers)

et ce automatiquement pour toutes les autres lignes (il y'en a plusieurs centaines...)

Bref, je n'ai pas compris la demande.
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
13 avril 2010 à 14:54
D'après ce que j'aurai compris, la 1ère ligne des 2 fichiers est semblable (ligne de titre des champs). Ensuite chaque champ est identique sauf le 10ème (date différente) et le dernier champ qui est vide sur le 1er fichier et qu'il faut remplir avec le dernier champ du second fichier et ce pour chaque ligne (sauf la 1ère) ;-)
0
A regarder de plus près, si tu passes l'emplacement du fichier txt2 dans le fichier txt1, tu obtiens le fichier txt2.

Ce que tu peux faire c'est réécrire ton txt1, tu utilises ofstream/ifstream et tu lis / copies ton txt2 dans ton txt1.

Après si tu veux copier QUE l'emplacement, il faudra quand même que tu parcours ton fichier txt2 avec un ifstream et tu fais un test. Dès que tu rencontres "80\t" (au vue de la forme, ça doit être quelques choses comme ça), tu continues à parcourir ton txt mais là tu récupères tout ce qui s'y trouve dans un string ou un char. Tu parcours également ton fichier txt1 et dès que tu rencontres "80\t", tu copies la chaine que tu as récupéré.

Le plus dur sera les tests d'arrêt je pense, savoir à quel endroit on récupère le texte, savoir à quel moment on arrête de le copier.

Bonne chance.
0