IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

fonction explode/split ?


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : Tha�lande

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par d�faut fonction explode/split ?
    Bonjour,

    je cherche une fonction explode qui permet de d�couper des String en fonction d'un caractere donn� et qui met le tout dans un tableau

    En fait je cherche la meme chose que la fonction explode en php :
    http://fr.php.net/explode

    Merci

  2. #2
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    La r�ponse est dans la et dans plein de sujets sur ce forum.

  3. #3
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : Tha�lande

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par d�faut
    Citation Envoy� par Laurent Gomila
    La r�ponse est dans la et dans plein de sujets sur ce forum.
    J'ai essey� celle de la faq mais elle ne fonctionne pas.
    Il ne trouve pas la fonction getline � 3 parametres

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    std::ifstream fichier("chemin d'acces");
     
    if ( fichier ) // ce test échoue si le fichier n'est pas ouvert
    {
    	std::string ligne; // variable contenant chaque ligne lue
    	std::string val;
     
    	// cette boucle s'arrête dès qu'une erreur de lecture survient
    	while ( std::getline(fichier, ligne) )
    	{
    		// Découpage aux ,
    		while (std::getline(ligne, val, ','))
    		{
    			// Code
    		}
    	}
    }
    La premiere boucle semble bien fonctionner quand elle est seule.

    Erreurs :
    fatal error C1903: impossible de r�cup�rer � partir des erreurs pr�c�dentes ; arr�t de la compilation
    error C2780: 'std::basic_istream<_Elem,_Traits> &std::getline(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &)' : 2 arguments attendus - 3 fournis
    error C2780: 'std::basic_istream<_Elem,_Traits> &std::getline(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &)' : 2 arguments attendus - 3 fournis
    error C2784: 'std::basic_istream<_Elem,_Traits> &std::getline(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem)' : impossible de d�duire l'argument de mod�le de 'std::basic_istream<_Elem,_Traits> &' � partir de 'std::string'
    error C2784: 'std::basic_istream<_Elem,_Traits> &std::getline(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem)' : impossible de d�duire l'argument de mod�le de 'std::basic_istream<_Elem,_Traits> &' � partir de 'std::string'
    error C2784: 'std::basic_istream<_Elem,_Traits> &std::getline(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem)' : impossible de d�duire l'argument de mod�le de 'std::basic_istream<_Elem,_Traits> &' � partir de 'std::string'
    error C2784: 'std::basic_istream<_Elem,_Traits> &std::getline(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem)' : impossible de d�duire l'argument de mod�le de 'std::basic_istream<_Elem,_Traits> &' � partir de 'std::string'
    error C2784: 'std::basic_istream<_Elem,_Traits> &std::getline(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem)' : impossible de d�duire l'argument de mod�le de 'std::basic_istream<_Elem,_Traits> &' � partir de 'std::string'
    error C2784: 'std::basic_istream<_Elem,_Traits> &std::getline(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem)' : impossible de d�duire l'argument de mod�le de 'std::basic_istream<_Elem,_Traits> &' � partir de 'std::string'
    fatal error C1903: impossible de r�cup�rer � partir des erreurs pr�c�dentes ; arr�t de la compilation
    edit:
    je suis sous vc++.net 2003

  4. #4
    Expert confirm�

    Inscrit en
    Novembre 2005
    Messages
    5 145
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    J'ai esseyé celle de la faq mais elle ne fonctionne pas.
    relis la FAQ.

  5. #5
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : Tha�lande

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par d�faut
    en effet un petit d�tail m'avait �chap�.

    ce code � l'air de fonctionner :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    // le constructeur de ifstream permet d'ouvrir un fichier en lecture
    			std::ifstream fichier("chemin");
     
    if ( fichier ) // ce test échoue si le fichier n'est pas ouvert
    {
    	std::string ligne; // variable contenant chaque ligne lue
    	std::string val;
     
    	// cette boucle s'arrête dès qu'une erreur de lecture survient
    	while ( std::getline(fichier, ligne) )
    	{
    		std::istringstream l(ligne);
    		// Découpage aux ,
    		while (std::getline(l, val, ','))
    		{
    			// Code
    		}
    	}
    }
    J'ai plus qu'a v�rifier

    Merci

  6. #6
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : Tha�lande

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par d�faut
    J'ai une autre petite question :

    J'ai une chaine de caractere qui represente un chemin d'acces � un fichier genre "c:\dossier\fichier.txt" et j'aimerai r�cuperer uniquement "fichier.txt" mais si je passe par ma m�thode de "split" je suis oblig� de tout parcourir jusqu'au dernier element pour obtenir mon nom de fichier ou il existe un autre moyen ?

  7. #7
    R�dacteur/Mod�rateur
    Avatar de JolyLoic
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    5 463
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 5 463
    Par d�faut
    Il y a une fonction split dans boost::string_algo : http://www.boost.org/doc/html/string...html#id2743220
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [Tableaux] fonction explode recuperation
    Par jive dans le forum Langage
    R�ponses: 6
    Dernier message: 07/06/2006, 14h55
  2. [Syst�me] Pb fonction explode
    Par clairette dans le forum Langage
    R�ponses: 3
    Dernier message: 17/05/2006, 15h40
  3. [Fonction]Explication sur la fonction EXPLODE de php
    Par daudet dans le forum Langage
    R�ponses: 6
    Dernier message: 13/04/2006, 17h06
  4. equivalent de la fonction EXPLODE de php
    Par gyouk dans le forum ASP
    R�ponses: 1
    Dernier message: 28/11/2005, 10h49
  5. [String] pb fonction String[] split(String regex)
    Par Kyti dans le forum Langage
    R�ponses: 6
    Dernier message: 05/04/2005, 13h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo