Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

Il y a 38 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

extraction de données d'une chaine de caractères

 
n°7607
berec
Profil : Membre
Posté le 22-04-2004 à 12:07:31  profilanswer
 

Bonjour à tous,
voilà mon problème, je n'arrive pas à trouver la facon dont extraire différentes données d'une chaine de caractère...
je m'explique, je possède un chaine contenant 3 informations, un nom, et 2 données numérique de type long (le tous séparé par des tabulations).
Il faudrait que je parvienne à mettre chacune de ces données dans des variables différentes (conrespondant à leur type, ca va de soit).
 
Pouvez vous m'aider s'il vous plait.
 
Merci

n°7608
myst
nono powered ©
Profil : Vieux de la vieille
Posté le 22-04-2004 à 12:29:30  profilanswer
 

ben tu recupere chaque morceau dans une chaine (string, char*...etc) pi apres tu fais tes conversions
y'a des fonctions qui se chargent de convertir une chaine en nombre (StrToInt, atoi... etc)
apres ca depend avec quelle lib tu bosses...


---------------
Fondateur de la CuRseD TeAm
n°7610
berec
Profil : Membre
Posté le 22-04-2004 à 12:52:56  profilanswer
 

oui, j'arrive à transformer une chaine de long en long mais le truc, c'est que je sais pas comment trouver la fin du premier type, qui est le nom....c'est à dire, comment trouver la transition entre le nom et les chiffres quoi. :??:  

n°7611
myst
nono powered ©
Profil : Vieux de la vieille
Posté le 22-04-2004 à 12:56:04  profilanswer
 

ben tu parse ta chaine et des que tu trouve une tabulation tu stock tout ce qui precede dans une 1ere chaine, puis ensuite tu continues et a la 2e tabulation t'as ton entier... etc
ou alors avec une chaine temporaire et tu fais les traitements aussitot, apres c'est a toi de voir...


---------------
Fondateur de la CuRseD TeAm
n°7612
berec
Profil : Membre
Posté le 22-04-2004 à 13:00:24  profilanswer
 

et comment je fais pour savoir qu'il y a une tabulation stp ?

n°7613
nico95
A la poursuite du SMS Staÿle
Profil : Dinosaure
Posté le 22-04-2004 à 13:04:16  profilanswer
 

le caractere tabulation, ce n'est pas \t ?

n°7614
TotoWeb 93
M in M
Profil : Habitué
Posté le 22-04-2004 à 13:04:25  profilanswer
 

void parse(char *str)
{
  int j;
  int i;
  int flag;
  char *tmp;
  char *name;
  long info1;
  long info2;
 
  tmp = malloc(sizeof(*tmp) * 256);
  for (j = 0, i = 0, flag = 0;  str[i]; i++)
    {
      if (str[i] == '\t') // separateur
 {
   tmp[j] = 0;
   j = 0;
   flag++;
   if (flag == 1) // premiere info
     name = tmp;
   if (flag == 2) // deuxieme info
     info1 = atol(tmp);
   if (flag == 3)
     info2 = atol(tmp);
 }
      else
 tmp[j++] = str[i];
    }
}

n°7615
Nodashi
Silence je dors
Profil : Dinosaure
Posté le 22-04-2004 à 13:05:48  profilanswer
 

tu peux utiliser les expressions regulieres également  
 
(comment ca  je fait une fixette :o)


---------------
informatique / jeu vidéo / blog du développeur / Pour les hommes modernes
n°7616
TotoWeb 93
M in M
Profil : Habitué
Posté le 22-04-2004 à 13:06:58  profilanswer
 

Nodashi a écrit :

tu peux utiliser les expressions regulieres également  
 
(comment ca  je fait une fixette :o)


en C ?

n°7617
nico95
A la poursuite du SMS Staÿle
Profil : Dinosaure
Posté le 22-04-2004 à 13:07:07  profilanswer
 

Nodashi a écrit :

tu peux utiliser les expressions regulieres également  
(comment ca  je fait une fixette :o)

:rofl:

n°7618
myst
nono powered ©
Profil : Vieux de la vieille
Posté le 22-04-2004 à 13:07:57  profilanswer
 

si le caractere de tabulaton c'est bien '\t'
 
sinon toto les malloc c'est pas bo, c'est pas du C++ :o
et t'as teste ton prog ? j'ai lu vite fait ca me parait pas clair...
m'enfin bon :p


---------------
Fondateur de la CuRseD TeAm
n°7619
TotoWeb 93
M in M
Profil : Habitué
Posté le 22-04-2004 à 13:12:29  profilanswer
 

myst a écrit :

si le caractere de tabulaton c'est bien '\t'
 
sinon toto les malloc c'est pas bo, c'est pas du C++ :o
et t'as teste ton prog ? j'ai lu vite fait ca me parait pas clair...
m'enfin bon :p
 


tu utilise jamais malloc en C ? :lol:  
 
si tu veu tu peu faire un tableau (char tmp[256])
mais je crois franchement pas la difference a part ke pour le malloc fo faire un free a la fin (que je n ai pas indique)

n°7620
myst
nono powered ©
Profil : Vieux de la vieille
Posté le 22-04-2004 à 13:14:43  profilanswer
 

nan j'utilise new et delete, splubodabor :p


---------------
Fondateur de la CuRseD TeAm
n°7621
TotoWeb 93
M in M
Profil : Habitué
Posté le 22-04-2004 à 13:22:37  profilanswer
 

myst a écrit :

nan j'utilise new et delete, splubodabor :p


ouaip
mais le code que j ai mis c'est du C :D

n°7622
myst
nono powered ©
Profil : Vieux de la vieille
Posté le 22-04-2004 à 13:24:11  profilanswer
 

lol oui oui j'ai vu :)
 
bon et berec il en est ou alors ?


---------------
Fondateur de la CuRseD TeAm
n°7623
berec
Profil : Membre
Posté le 22-04-2004 à 13:46:31  profilanswer
 

merci à tous de votre aide....
je vais tester tout cela !
Par contre Nodashi, c'est quoi les "expressions régulières" ? et en quoi cela peut il m'être util ?

n°7626
ollone
Part of the 'One brothers
Profil : Vieux de la vieille
Posté le 22-04-2004 à 14:27:55  profilanswer
 

Nodashi a écrit :

tu peux utiliser les expressions regulieres également  
 
(comment ca  je fait une fixette :o)


 
:lol: Ca y est, t'as recu ton bouquin, t'es à fond dedans ! :mdr:


---------------
C'est naturel que les filles soient plus belles, et les garçons plus cons ^^ [un peu bonobo sur les bords]
n°7646
myst
nono powered ©
Profil : Vieux de la vieille
Posté le 23-04-2004 à 13:09:22  profilanswer
 

berec a écrit :

merci à tous de votre aide....
je vais tester tout cela !
Par contre Nodashi, c'est quoi les "expressions régulières" ? et en quoi cela peut il m'être util ?


bof nan te complique pas la vie avec ca, pour ce que tu veux faire, ce qu'on t'a dit suffit amplement :)


---------------
Fondateur de la CuRseD TeAm

Aller à :
Ajouter une réponse