begin process at 2010 02 10 17:04:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

split/explode d'une chaine


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

split/explode d'une chaine

jeudi 11 août 2005 à 15:10:53 | split/explode d'une chaine

goth

bonjour tt le monde,
je cherche une fonction qui ferait a peu pres la même chose que explode en php,
 a savoir decouper une chaine suivant un delimiteur, qui sera lui aussi une chaine.

par exemple si ma chaine est aaaazebbbbbzezeccccczezedddd
la fonciton me retourne un tableau avec poyur res :
aaaa
bbbb
(vide)
cccc
'vide)
dddd
j'ai essayer de voir avec strtok mais bon, ca prend une chaine comme delimiteur, mais ca traite la chaine comme un ensemble de délimiteurs...

Si vous savez ou je peux trouver qqchose du genre.
Au fait je taf en C.

Merci beaucoup

jeudi 11 août 2005 à 15:25:22 | Re : split/explode d'une chaine

buno

tu peux regarder du côté de strstr(str1,str2).
c'est pas vraiment ce que tu veux mais ça te retourne la 1ère occurence de la chaine str2 dans str1...
En faisant une boucle, tu devrais réussir

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
jeudi 11 août 2005 à 16:07:15 | Re : split/explode d'une chaine

xterminhate

Membre Club
En résultat, tu veux vraiment une tableau de chaines de caractères ? Un tableau d'entier qui contient le nombre d'occurences de chaque caractère ne te suffirait pas ? Ce serait plus facile à coder...
jeudi 11 août 2005 à 17:22:12 | Re : split/explode d'une chaine

goth

oui je veux recupere les morceaux de chaines entre les séparateur donc un tableau de chaines serait le plus approprié.

en ce qui concerne strstr supposons que j'ai ca :
	const char *largestring = "Foo Bar Baz";
const char *smallstring = "Bar";
char *ptr;
ptr = strstr(largestring, smallstring);

est ce qu'il ya moyen de calculer la position pos de Bar dans
largestring de facon à recuperer largestring[0] jusqu'à
largestring[pos] (qui serait donc la première chaine à sauver)?

merci en tt cas pour vos reponses




jeudi 11 août 2005 à 17:31:14 | Re : split/explode d'une chaine

steve_clamage

oui, la difference des deux adresses (typées) if( ptr = strstr(largestring, smallstring) ) { size_t pos = ptr - largestring; }
jeudi 11 août 2005 à 17:36:09 | Re : split/explode d'une chaine

buno

char * tab[10];
const char *largestring = "Foo Bar Baz";
const char *smallstring = "Bar";
char *ptr;
int size;

ptr = strstr(largestring, smallstring);
size=ptr-largestring;
tab[0]=(char*)malloc((size+1)*sizeof(char));
strncpy(tab[0],largestring,size);
tab[0][size]='\0';

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...

jeudi 11 août 2005 à 17:36:47 | Re : split/explode d'une chaine

buno

argh!! pas assez vite

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
jeudi 11 août 2005 à 17:45:40 | Re : split/explode d'une chaine

steve_clamage

Réponse acceptée !
grillé :D tu peux simplifier cette ecriture tab[0]=(char*)malloc((size+1)*sizeof(char)); par tab[0]= malloc(size+1); c'est plus clair, non ?
mardi 16 août 2005 à 10:46:26 | Re : split/explode d'une chaine

goth

merci pour la reponse, j'accepte la derniere de steve_clamage mais merci aussi a buno.
Une chtite boucle et le tour est joué

merci!!!!!



Cette discussion est classée dans : chaine, vide, split, delimiteur, explode


Répondre à ce message

Sujets en rapport avec ce message

Test chaine Vide [ par ryseryse ] bonjour, voilaj'ai un petit souci je pense pas que ce soit compliquéje veux juste tester une chaine nulle.MAIS je suis completement BLOQUEje n'arrive Split de chaine de caracteres [ par lektrosonic ] Existe-il une fonction predefinie qui transforme char[ ]="ceci|est|une|chaine|separee/0"  en char1[]="ceci", char2[]="est" .... ?l3KTr0 Was HeRe explode [ par thebigbang ] bonjour à tous,Je cherche une fonction C++ qui permettrait de créer des tableaux de chaine à partir d'une autre chaine que l'on aurait découpée en fon explode [ par thebigbang ] bonjour à tous,Je cherche une fonction C++ qui permettrait de créer des tableaux de chaine à partir d'une autre chaine que l'on aurait découpée en fon de miniscule en majuscule [ par asik38 ] Comment on fait pour transformer une chaine de caractére en une chaine de caaractére majusculeex:char[20]= x:x="examlple";??????????????????x=EXAMPLEM remplacer un bout de chaine d'une chaine par un autre bout de chaine [ par loicus ] En pratique, j'aimerais bien avoir un truc genre :chaine4=replace("a remplacer",chaine1,"c'a y, c'ets remplacé");Mais je ne sais pas quelle fonction u Ajouter des slash [ par Mike ] SAlut,je recupere une chaine de caractere qui correspond au PATH d'un fichier, ensuite je souhaite l'utiliser comme variable, mais le probleme c que l Strcat avec un chiffre entier [ par Athanor ] Je voudrais concaténer une chaine avec un nombre entier, je sais bien questrcat(nomchaine, 123);ne marche pas, mais même en transformant mon chiffre e Construction d'un arbre à partir d'une chaine de caractères [ par dahlsimus ] Bonjour, Je souhaite construire un arbre représentant une expression booléenne saisie sous le forme d'une chaîne de caractère (ex: (a+b).C avec + OR e Convertir chaine de caractere -> decimal [ par LordBob ] Salut a tous, en fait je voudrai juste savoir comment est-ce ke l'on pouver convertir une chaine de caractère (ex: salut) en decimal... Voila, m


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,014 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales