mleclaire
Messages postés15Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention18 mars 2007
-
8 mars 2006 à 09:01
Guillemouze
Messages postés991Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 août 2013
-
10 mars 2006 à 01:46
Bonjour je suis débutant en programmation,je suis en train de programmer en c++ builder,est ce que c'est possible d'utiliser scanf()?
si oui,je voudrait récuperer un mot dans une ligne.
ex de ligne:
aaaa;bbbb;cccc;dddd;eeee
ffff;gggg;hhhh;iiii;jjjj
comment je doit faire si je veut avoir le deuxième mot ds chaque ligne de mon fichier texte?
meme question pour le premier et le troisième mot de chaque ligne?
et meme question pour une ligne?
merci d'avance pour vos réponse clair vu ke je suis un débutant!!
Guillemouze
Messages postés991Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 août 20136 8 mars 2006 à 09:21
si toutes tes lignes ont 5 mots, tu peu faire
//longueur max d'un mot
#define MAX_LENGTH 255
//buffer pour stocker tes mots
char buffer[5][MAX_LENGTH]
//lecture des mots
fscanf(mon_fichier, "%s;%s;%s;%s\n", buffer[0], buffer[1], buffer[2], buffer[3], buffer[4]);
julienbj
Messages postés452Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention19 décembre 200815 8 mars 2006 à 21:58
Pour le premier mot, tu peux essayer d'utiliser scanf avec des expressions plus "avancées".
Oulala, oui, je sais, c'est un peu vide comme phrase ;)
Donc un exemple.
Pour ta ligne (les mots sont séparés par des ;)
Tu peux faire scanf("%[^;\n\0]", buffer);
Avec buffer qui est un tabeau de caractères.
Ce que j'appelais au debut expression avancée de "scanf" c'etait justement le [^].
Il existe deux expressions de ce style à ma connaissance.
[^...] permet de lire un buffer jusqu'à ce qu'on rencontre un caractère present entre crochet.
[...] permet de lit un buffer tant que les caractères sont compris entre [].
De la meme facon que pour %s, %d..., on peut aussi mettre %*[...] pour ne pas enregistrer ce que l'on vient de lire.
Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]
mleclaire
Messages postés15Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention18 mars 2007 8 mars 2006 à 09:44
et faire afficher le buffer c'est une methode simple ou c'est un trcu spéciale?
sa donne koi a peut près pour un affichage avec un retour a la ligne apres chaque mot?
Guillemouze
Messages postés991Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 août 20136 8 mars 2006 à 10:40
pour le Tstring, je connais pas JBuilder, mais il doit y avoir un moten de convertir un char* en Tstring, ou bien un moyen de lire des Tstring dans un stream.
sinon pour ton erreur, il faut que tu ouvre ton fichier !!! je pense pas qu'il puisse trouver tt seul l'endroit ou tu veu lire tes données !
mleclaire
Messages postés15Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention18 mars 2007 8 mars 2006 à 13:56
sa fonctionne pour le buffer j'ai trouver!!!!mais le seul problème c'est qu'il m'affiche uniquement la première ligne et en plus de sa pas le premeir mot mais la ligne entière voila mon code:
mleclaire
Messages postés15Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention18 mars 2007 8 mars 2006 à 22:23
ok mais se code lit les premiers mot de chaque ligne ou que de la première ligne?
Et si je veut lire le deuxième ou troisième mot de chaque ligne c koi le code specifique? %[....?????????????