begin process at 2012 02 10 09:01:21
  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

Administrateur CodeS-SourceS
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

Administrateur CodeS-SourceS

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

Administrateur CodeS-SourceS
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 détecter si une chaine de caractère est vide [ par snake57 ] Bonjour à tous, Alors je suis en c++ et je lis une à une toute les lignes d'un fichier texte. Je range la ligne lue dans la variable "lignecourante" Executer une commande avec exec [ par andoid ] Bonjour! j'aimerai exécuter une commande avec exec mais j'arrive pas: je m'explique je recupere la saisie de la commande sur le terminal grace a fge Recuperer des valeurs aprés un scanf [ par andoid ] Bonjour j'ai un probléme avec mon tableau de char: je m'explique, j'ai char chaine[]; scanf("%s"chaine); si l'utilisateur met en ligne de commande Chaine de caractères oubliée [ par Venusos ] Hello les gens =) Ma prof de dev m'ayant donné comme devoir de grosbill pour les vacances (ouais parce-qu'elle veut quand-même un peu me tester vu qu Probleme Erreur de segmentation [ par sivas58 ] [color=red]Bonjour a tous; J'ai besoins d'aide sur une erreur de segmentation.[/color] [code=cpp]int decoupeLignePipe(char *chaine,char **commande1, chaine de caractere en hexa [ par virtuoze ] Bonjour à tous , j'aimerais dans un algo en c ou c++ demander a un utilisateur de rentrer un chaine de caractère en hexa pour que je puisse aprés rent


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,903 sec (3)

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