Chaines de caractères

Résolu
Roro8883 Messages postés 70 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 1 février 2008 - 15 août 2005 à 21:50
equimose Messages postés 65 Date d'inscription jeudi 4 septembre 2003 Statut Membre Dernière intervention 17 avril 2009 - 15 août 2005 à 22:10
Salut,
je suis complètement perdu et embrouillé dans les chaînes de caractères en C++ !!!!

Comment est-ce que je peux faire pour savoir, dans une chaine de caractère, quand il y a un espace ....

Exemple : J'ai une chaine de caractère : "truc machin bidule"
et je voudrais séparer cette chaine en trois chaines différentes "truc" "machin" "bidule" mais je ne sais pas comment faire car le test : if (chaine[x] == " ") ne fonctionne pas, de même que le test : if (strcmp(chaine[x]," ") != 0) !!!!!!!!!!!!!

Donc en fait, je pense que vous l'avez compris, je voudrais faire un test sur ma chaine de caractère pour savoir quand est-ce que je rencontre un espace ....

Mais je suis complètement perdu, j'y arrive pas ....... pouvez-vous m'aider ???

4 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 août 2005 à 22:08
Ce n'est pas:
if(chaine[x] == " ") car " " est l'adresse d'une chaine " "

mais
if(chaine[x] == ' ')

ciao...
BruNews, MVP VC++
3
equimose Messages postés 65 Date d'inscription jeudi 4 septembre 2003 Statut Membre Dernière intervention 17 avril 2009
15 août 2005 à 21:58
salut

essaye ton test avec des guillement simple !

char carlu =' ';

if (chaine[index]==carlu)
cout>>"trouver";
else
cout>>"rien;
0
xterminhate Messages postés 371 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 23 septembre 2009
15 août 2005 à 22:04
(en C++, une chaine correspond à un std::string)



Voila un exemple (exemplaire, peut être pas) :



#include<string>

#include<sstream>

#include

using namespace std;



int main()

{

string str = "truc machin bidule";

istringstream is( str );

string premier, second, troisieme;

is >> premier >> second >> troisieme;

cout << premier << endl;

cout << second << endl;

cout << troisieme << endl;

}


Cordialement,
Xterminhate.
0
equimose Messages postés 65 Date d'inscription jeudi 4 septembre 2003 Statut Membre Dernière intervention 17 avril 2009
15 août 2005 à 22:10
C'est du bonheur ca :p
0
Rejoignez-nous