Les variables booléennes en C ++ sont des données binaires qui peuvent être vraies ou fausses, tandis que les variables de chaîne représentent une séquence de l'alphabet, des chiffres, ainsi que des caractères spéciaux. Le compilateur ne prend pas en charge la traduction de la chaîne à la booléenne, mais il existe plusieurs techniques pour le faire.
Dans cet article, nous examinerons diverses méthodes pour convertir la valeur de la chaîne en valeur booléenne en C++.
Comment convertir la chaîne en valeur booléenne en c++?
Nous considérons la technique, qui est assez simple. Nous acceptons une valeur qui est une chaîne et convertissons cela en valeur booléenne dans plusieurs méthodes. Un algorithme généralisé est donné ci-dessous:
Maintenant, nous allons expliquer les méthodes possibles pour convertir une valeur de chaîne en valeur booléenne en C++.
1: Utilisation de la fonction stoi ()
Dans certains cas, la valeur de la chaîne peut être 0 ou 1. Dans cette situation, nous pouvons utiliser le stoi () fonction pour convertir le numéro de chaîne en un entier puis en booléen. Le stoi () La fonction modifie les valeurs de chaîne en entiers, qui peuvent ensuite être convertis en booléens en utilisant une typographie explicite. Considérer l'exemple qui illustre l'utilisation de stoi () fonction pour convertir la valeur de la chaîne en valeur booléenne.
#inclure
#inclure
Utilisation de Namespace Std;
bool my_function (String Str)
retour (bool) stoi (str);
int main()
String input1 = "1";
bool output1 = my_function (input1);
couter<< "The input string value is: " << input1 << endl;
couter<< "The output bool value is: " << output1 << endl;
String input2 = "0";
bool output2 = my_function (input2);
couter<< "The input string value is: " << input2 << endl;
couter<< "The output bool value is: " << output2 << endl;
retour 0;
Dans l'exemple fourni, le code, le my_function La fonction prend une chaîne en entrée et renvoie une valeur booléenne en convertissant la chaîne en un entier en utilisant stoi () Fonction puis la couler à un booléen en utilisant le (bool) tycast. La fonction principale appelle my_function avec la chaîne «11», qui est convertie en valeur entière 11, puis coulée à la valeur booléenne True. Enfin, les valeurs d'entrée et de sortie sont imprimées sur la console à l'aide de cout.
Sortir
2: Utilisation de la comparaison des chaînes
Nous utiliserons cette technique pour effectuer la comparaison de base de chaîne pour convertir une valeur de chaîne en valeur booléenne. Si la valeur de la chaîne est «fausse», la valeur 0 est renvoyée; Alternativement, la valeur 1 est renvoyée. Par exemple:
#inclure
#inclure
Utilisation de Namespace Std;
bool my_function (const string & str)
return str == "true" || str == "1";
int main()
String input1 = "true";
bool output1 = my_function (input1);
couter<< "The input string value is: " << input1 << endl;
couter << "The output bool value is: " << output1 << endl;
String input2 = "false";
bool output2 = my_function (input2);
couter<< "The input string value is: " << input2 << endl;
couter << "The output bool value is: " << output2 << endl;
retour 0;
Dans cet exemple, nous définissons une fonction appelée my_function qui prend une référence const à un argument de chaîne et renvoie une valeur booléenne selon que la chaîne contient le texte «true» ou le chiffre «1». La fonction utilise simplement la comparaison des chaînes pour vérifier si la chaîne d'entrée correspond à l'une de ces valeurs, et renvoie vrai ou faux en conséquence.
Sortir
3: Utilisation de l'opérateur d'égalité
Nous pouvons utiliser l'opérateur de l'objet String (==) pour déterminer si la valeur de la chaîne est «0» ou non. S'il est «0», il est converti en valeur booléenne false; Sinon, il est converti en valeur booléenne vraie. Regardons un exemple:
#inclure
#inclure
#inclure
Utilisation de Namespace Std;
int main()
String input1 = "0";
BOOL Output1 = !(input1 == "0");
couter<< "The input value is: " << input1 << endl;
couter<< boolalpha<<"The output value is: " << output1 << endl;
String input2 = "1";
BOOL Output2 = !(input2 == "0");
couter<< "The input value is: " << input2 << endl;
couter<< boolalpha<<"The output value is: " << output2 << endl;
retour 0;
Le code ci-dessus démontre la conversion d'une chaîne en valeur booléenne. Il initialise d'abord une variable de chaîne «entrée» avec la valeur «0». Il convertit ensuite cette chaîne en une valeur booléenne en utilisant l'expression !(entrée == «0»). Enfin, il publie les valeurs d'entrée et de sortie en utilisant l'instruction COUT. Le manipulateur Boolalpha est utilisé pour produire la valeur booléenne comme «vrai» ou «faux» au lieu de 1 ou 0.
Sortir
4: Utilisation de la fonction istringStream ()
En utilisant cette méthode, nous allons construire un objet IstringStream et l'initialiserons en utilisant la valeur de chaîne donnée dans cette méthode. Ensuite, à partir de cet objet IstringStream, récupérez la valeur booléenne. Si la chaîne contenait une valeur numérique mais pas 0, la valeur booléenne sera vraie. Sinon, le résultat de bool récupéré est faux. Regardons un exemple:
#inclure
#inclure
#inclure
Utilisation de Namespace Std;
int main()
String input1 = "0";
bool output1;
istringStream (input1) >> output1;
couter<< "The input value is: " << input1 << endl;
couter<< boolalpha<<"The output value is: " << output1 << endl;
String input2 = "1";
BOOL Output2;
istringStream (input2) >> output2;
couter<< "The input value is: " << input2 << endl;
couter<< boolalpha<<"The output value is: " << output2 << endl;
retour 0;
Le code ci-dessus lit une entrée de chaîne «1» et la convertit en valeur booléenne à l'aide d'IstringStream (). La variable de sortie BOOL est initialisée mais non attribuée de valeur jusqu'à ce que istringStream () soit utilisé pour lire la valeur d'entrée. La valeur booléenne est ensuite sortie à l'aide de cout.
Sortir
Conclusion
Lorsque des bibliothèques ou des API tierces sont utilisées dans un projet, il est nécessaire de convertir une valeur de chaîne en valeur booléenne. Certaines API ou bibliothèques produisent au format String, et nous devons convertir les valeurs de chaîne en booléen pour rendre les résultats compatibles. Pour l'exécuter, nous avons discuté de diverses méthodes ainsi que des exemples de cet article pour convertir une chaîne en valeur booléenne en C++.