Cómo convertir una cadena a un valor booleano en c++?

Cómo convertir una cadena a un valor booleano en c++?

Las variables booleanas en C ++ son datos binarios que pueden ser verdaderos o falsos, mientras que las variables de cadena representan una secuencia del alfabeto, números, así como caracteres especiales. El compilador no admite la traducción de la cadena al booleano, pero hay múltiples técnicas para hacerlo.

En este artículo, analizaremos varios métodos para convertir el valor de la cadena en un valor booleano en C++.

Cómo convertir la cadena al valor booleano en c++?

Consideramos la técnica, que es bastante simple. Aceptamos un valor que es una cadena y lo convierte en un valor booleano en varios métodos. A continuación se proporciona un algoritmo generalizado:

    • Tomar datos en una variable de cadena.
    • Convertir un valor de cadena a un booleano.
    • Emitir el valor.

Ahora vamos a explicar los posibles métodos para convertir un valor de cadena en un valor booleano en c++.

    • 1. Uso de la función stoi ()
      2. Usando la comparación de cadenas
      3. Uso del operador de igualdad
      4. Uso de la función istringtream ()

1: usando la función stoi ()

En algunos casos, el valor de la cadena podría ser 0 o 1. En esa situación, podemos usar el stoi () función para convertir el número de cadena en un entero y luego a un booleano. El stoi () La función cambia los valores de cadena a enteros, que luego se pueden convertir a booleanos utilizando un diseño de tipografía explícita. Considere el ejemplo que ilustra el uso de stoi () función para convertir el valor de cadena en valor booleano.

#incluir
#incluir
usando el espacio de nombres STD;
bool my_function (string str)

return (bool) stoi (str);

int main ()

String input1 = "1";
bool output1 = my_function (input1);
cout<< "The input string value is: " << input1 << endl;
cout<< "The output bool value is: " << output1 << endl;
cadena input2 = "0";
bool output2 = my_function (input2);
cout<< "The input string value is: " << input2 << endl;
cout<< "The output bool value is: " << output2 << endl;
regresar 0;


En el código de ejemplo proporcionado, el my_function la función toma una cadena como entrada y devuelve un valor booleano al convertir la cadena en un entero usando stoi () función y luego lanzarlo a un booleano usando el typecast (bool). La función principal llama my_function con la cadena "11", que se convierte en el valor entero 11 y luego se lanza al valor booleano verdadero. Finalmente, los valores de entrada y salida se imprimen en la consola usando Cout.

Producción


2: Uso de la comparación de cadenas

Utilizaremos esta técnica para realizar la comparación de cadenas básicas para convertir un valor de cadena a un valor booleano. Si el valor de la cadena es 'falso', el valor 0 se devuelve; Alternativamente, se devuelve el valor 1. Por ejemplo:

#incluir
#incluir
usando el espacio de nombres STD;
bool my_function (const string & str)
return str == "verdadero" || str == "1";

int main ()
String input1 = "True";
bool output1 = my_function (input1);
cout<< "The input string value is: " << input1 << endl;
cout << "The output bool value is: " << output1 << endl;
cadena input2 = "false";
bool output2 = my_function (input2);
cout<< "The input string value is: " << input2 << endl;
cout << "The output bool value is: " << output2 << endl;
regresar 0;


En este ejemplo, definimos una función llamada my_function que toma una referencia const a un argumento de cadena y devuelve un valor booleano en función de si la cadena contiene el texto "verdadero" o el dígito "1". La función simplemente usa la comparación de cadenas para verificar si la cadena de entrada coincide con uno de estos valores, y devuelve verdadero o falso en consecuencia.

Producción


3: Uso del operador de igualdad

Podemos usar el operador del objeto de cadena (==) para determinar si el valor de la cadena es "0" o no. Si es "0", se convierte al valor booleano falso; de lo contrario, se convierte al valor booleano verdadero. Veamos un ejemplo:

#incluir
#incluir
#incluir
usando el espacio de nombres STD;
int main ()

String input1 = "0";
BOOL Output1 = !(entrada1 == "0");
cout<< "The input value is: " << input1 << endl;
cout<< boolalpha<<"The output value is: " << output1 << endl;
cadena input2 = "1";
bool output2 = !(entrada2 == "0");
cout<< "The input value is: " << input2 << endl;
cout<< boolalpha<<"The output value is: " << output2 << endl;
regresar 0;


El código anterior demuestra la conversión de una cadena a un valor booleano. Primero inicializa una variable de cadena 'entrada' con el valor "0". Luego convierte esta cadena en un valor booleano usando la expresión !(entrada == "0"). Finalmente, genera los valores de entrada y salida utilizando la instrucción CoUT. El manipulador boolalpha se usa para generar el valor booleano como "verdadero" o "falso" en lugar de 1 o 0.

Producción


4: Uso de la función istringstream ()

Usando este método, construiremos un objeto IStringStream e inicializaremos usando el valor de cadena dado en este método. Luego, a partir de este objeto IStringstream, recupere el valor booleano. Si la cadena contenía un valor numérico pero no 0, el valor booleano será verdadero. De lo contrario, el resultado de bool recuperado es falso. Veamos un ejemplo:

#incluir
#incluir
#incluir
usando el espacio de nombres STD;
int main ()

String input1 = "0";
bool output1;
istringstream (input1) >> output1;
cout<< "The input value is: " << input1 << endl;
cout<< boolalpha<<"The output value is: " << output1 << endl;
cadena input2 = "1";
bool output2;
istringstream (input2) >> output2;
cout<< "The input value is: " << input2 << endl;
cout<< boolalpha<<"The output value is: " << output2 << endl;
regresar 0;


El código anterior lee una entrada de cadena "1" y la convierte en un valor booleano usando isttringtream (). La variable de salida de bool se inicializa pero no se le asigna un valor hasta que se usa istRingtream () para leer el valor de entrada. El valor booleano se produce luego usando cout.

Producción


Conclusión

Cuando las bibliotecas o API de terceros se utilizan en un proyecto, se requiere convertir un valor de cadena en un valor booleano. Algunas API o bibliotecas producen en formato de cadena, y debemos convertir los valores de cadena a booleanos para que los resultados sean compatibles. Para realizarlo, hemos discutido varios métodos junto con ejemplos en este artículo para convertir una cadena a un valor booleano en c++.