j'ai un problème pour récupérer un booléen dans une chaîne. Comme vous le savez, l'instruction "%ld" permet de récupérer un entier (je l'utilise dans le code suivant pour un booléen, sans succès), et je me pose la question s'il n'existe pas une instruction pour récupérer un booléen.
Voici un exemple de code :
#include <iostream>
using namespace std;
int main()
{
char (*tableauPhrase)[100] = new char[4][100];
char chaine1[100] = "";
char chaine2[100] = "";
bool booleen1 = false, booleen2 = false;
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 100; j++)
tableauPhrase[i][j] = 0;
}
La seule chose que je vois de ++ dans ton code c'est les cout...
1) les char[] ou char* sont à éliminer lorsque tu veux représenter une chaine de caractère : utilise std::string (c'est une petite adaptation)
2) Grâce à 1) tu vas pouvoir éliminer aussi strcpy, strcmp, sscanf, sprintf... etc, etc, etc.
3) La technique pour optimiser les tranformation TYPE de base vers chaine de caratères et vice/versa c'est d'utiliser les stringstream.
stringstream est une classe qui permet d'utiliser les flux vers une et d'une std::string. Comme std::cout et std::cin sont des objet de std::ostream et std::istream qui vont vers et de la console.
alors si tu peux faire :
std::cout << booleen;
Tu peux faire
bool booleen = false;
std::stringstream ss;
ss << booleen;
std::string s = ss.str();
Note 1: la dernière ligne sert à copier la chaine contenue dans l'objet ss.
Note 2: tu dois inclure "<sstream>" pour utiliser les std::stringstream
L'inverse maintenant:
bool booleen;
// s est de type std::string et contient la transformation d'un bool en chaine de caratère
je vous remercie d'avoir pu m'aider à résoudre mon problème.
Bonne fin de journée à tous !
Le premier et meilleur outil de l'Homme reste encore et toujours son cerveau.
C++ récupération booléen
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.