Split en c++ avec les conteneurs standard

Contenu du snippet

Un simple Split en C++ (comme en PHP)...
Malheureusement je n'ai rien trouve de semblable sur le site...
Cette source utilise les conteneurs standards tels que les chaînes de caractères (string) et les tableaux à taille dynamique (vector)...
Et voila avec un petit exemple d'utilisation ...

Source / Exemple :


#include <iostream>
#include <vector>
#include <string>
#include <stdlib.h>

using namespace std;

int Split(vector<string>& vecteur, string chaine, char separateur)
{
	vecteur.clear();

	string::size_type stTemp = chaine.find(separateur);
	
	while(stTemp != string::npos)
	{
		vecteur.push_back(chaine.substr(0, stTemp));
		chaine = chaine.substr(stTemp + 1);
		stTemp = chaine.find(separateur);
	}
	
	vecteur.push_back(chaine);

	return vecteur.size();
}

int main()
{
	cout << "Test de split\n" << endl;

	string str = "Bonjour le monde ...";
	vector<string> VecStr;

	int nbTabl = Split(VecStr, str, ' ');

	cout << "Nb de parties : " << nbTabl << "\n" << endl;

	for(int i = 0; i < nbTabl; ++i)
	{
	    cout << i << " : '" << VecStr[i] << "'" << endl;
	}
	
	cout << endl;
	
	system("PAUSE");

	return 0;
}

Conclusion :


Résultats de la console :

Test de split

Nb de parties : 4

0 : 'Bonjour'
1 : 'le'
2 : 'monde'
3 : '...'

Appuyez sur une touche pour continuer...

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.