boualiasma
Messages postés393Date d'inscriptionlundi 22 juin 2009StatutMembreDernière intervention23 décembre 2011
-
24 sept. 2009 à 10:23
katsankat
Messages postés571Date d'inscriptionvendredi 30 décembre 2005StatutMembreDernière intervention12 juillet 2012
-
27 sept. 2009 à 20:57
Bonjour,
J'ai un fichier contenant deux champs: objet (chaine de caractère) et valeur(chaine de caractère)
ces deux champs sont séparés par deux points :
par exemple soit le fichier 'test.txt':
1 3 4 10 : d b c
5 2 16 8 : a d c
Je voulais transformer ce fichier par exemple dans un autre fichier de sorte d'obtenir:
1 : d b c
3 : d b c
4 : d b c
10 : d b c
5 : a d c
2 : a d c
16 : a d c
8 : a d c
Je n'arrive à transformer la chaine '1 3 4 10' transformés en quatre entiers 1, 3, 4 et 10
et pour chaque entier on ajoute la même chaine valeur 'd b c'
de même pour la chaine '5 2 16 8' transformés en quatre entiers
5, 2, 16,8
et pour chaque entier on ajoute la même chaine valeur 'a d c'
katsankat
Messages postés571Date d'inscriptionvendredi 30 décembre 2005StatutMembreDernière intervention12 juillet 20123 27 sept. 2009 à 20:57
Salut, il y a plusieurs façons de faire. Déjà on peut lire le fichier ligne par ligne avec fgets(). Le traitement de la ligne proprement dit est assez simple: un scanf() te donnera facilement les 4 entiers et la chaine (voir ici) mais comme je le disais, strtok() irait bien aussi, enfin 3e méthode: parcourir la chaîne en déplaçant le pointeur pour invoquer 4 atoi(). C'est l'affaire de 4 ou 5 lignes de code mais il faut un peu plus de réflexion. Bref quand tes 5 variables (4 int et un char*) sont initialisés tu peux formatter l'affichage : printf("%d : %s\n%d : %s\n%d : %s\n%d : %s\n", a,s, b,s, c,s, d,s);
Voilà... Bonne écriture de code l'ami