Come convertire una stringa in un valore booleano in C++?

Come convertire una stringa in un valore booleano in C++?

Le variabili booleane in C ++ sono dati binari che possono essere veri o falsi, mentre le variabili di stringa rappresentano una sequenza di alfabeto, numeri e caratteri speciali. Il compilatore non supporta la traduzione dalla stringa a booleana, ma ci sono più tecniche per farlo.

In questo articolo, esamineremo vari metodi per convertire il valore della stringa in un valore booleano in C++.

Come convertire la stringa in valore booleano in c++?

Consideriamo la tecnica, che è abbastanza semplice. Accettiamo un valore che è una stringa e lo convertiamo in un valore booleano in diversi metodi. Di seguito è riportato un algoritmo generalizzato:

    • Prendere i dati in una variabile di stringa.
    • Converti un valore di stringa in un booleano.
    • Output il valore.

Ora spiegheremo i possibili metodi per convertire un valore di stringa in un valore booleano in C++.

    • 1. Usando la funzione stoi ()
      2. Usando il confronto delle stringhe
      3. Utilizzo dell'operatore di uguaglianza
      4. Usando la funzione istringstream ()

1: usando la funzione stoi ()

In alcuni casi, il valore della stringa potrebbe essere 0 o 1. In quella situazione, possiamo usare il stoi () funzione per convertire il numero di stringa in un numero intero e quindi in un booleano. IL stoi () La funzione modifica i valori di stringa in numeri interi, che possono quindi essere convertiti in booleani utilizzando typecasting esplicito. Considera l'esempio che illustra l'uso di stoi () funzione per convertire il valore della stringa in valore booleano.

#includere
#includere
Utilizzo dello spazio dei nomi 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;
string input2 = "0";
bool output2 = my_function (input2);
cout<< "The input string value is: " << input2 << endl;
cout<< "The output bool value is: " << output2 << endl;
restituzione 0;


Nel codice di esempio fornito, il my_function La funzione prende una stringa come input e restituisce un valore booleano convertendo la stringa in un numero intero usando stoi () funzione e quindi lanciarlo su un booleano usando il tipo (bool). La funzione principale chiama my_function con la stringa "11", che viene convertita nel valore intero 11 e quindi lanciata al valore booleano vero. Infine, i valori di input e output vengono stampati sulla console usando Cout.

Produzione


2: usando il confronto delle stringhe

Useremo questa tecnica per condurre il confronto di stringhe di base per la conversione di un valore di stringa in un valore booleano. Se il valore della stringa è "falso", viene restituito il valore 0; In alternativa, il valore 1 viene restituito. Per esempio:

#includere
#includere
Utilizzo dello spazio dei nomi std;
bool my_function (const string & str)
return str == "true" || 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;
string input2 = "false";
bool output2 = my_function (input2);
cout<< "The input string value is: " << input2 << endl;
cout << "The output bool value is: " << output2 << endl;
restituzione 0;


In questo esempio, definiamo una funzione chiamata MY_Function che prende un const riferimento a un argomento stringa e restituisce un valore booleano in base al fatto che la stringa contiene il testo "vero" o la cifra "1". La funzione utilizza semplicemente la stringa confronto per verificare se la stringa di input corrisponde a uno di questi valori e restituisce vero o falso di conseguenza.

Produzione


3: utilizzando l'operatore di uguaglianza

Possiamo usare l'operatore dell'oggetto stringa (==) per determinare se il valore della stringa è "0" o no. Se è "0", viene convertito nel valore booleano falso; Altrimenti, viene convertito in valore booleano vero. Diamo un'occhiata a un esempio:

#includere
#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

string input1 = "0";
bool output1 = !(input1 == "0");
cout<< "The input value is: " << input1 << endl;
cout<< boolalpha<<"The output value is: " << output1 << endl;
string input2 = "1";
bool output2 = !(input2 == "0");
cout<< "The input value is: " << input2 << endl;
cout<< boolalpha<<"The output value is: " << output2 << endl;
restituzione 0;


Il codice sopra mostra la conversione di una stringa in un valore booleano. Per prima cosa inizializza una variabile stringa "input" con il valore "0". Quindi converte questa stringa in un valore booleano usando l'espressione !(input == “0”). Infine, emette i valori di input e output utilizzando l'istruzione Cout. Il manipolatore Boolalpha viene utilizzato per produrre il valore booleano come "vero" o "falso" anziché 1 o 0.

Produzione


4: usando la funzione istringstream ()

Utilizzando questo metodo, costruiremo un oggetto ISTRINSSREAM e lo inizializzamo usando il valore della stringa dato in questo metodo. Quindi, da questo oggetto istringstream, recupera il valore booleano. Se la stringa conteneva un valore numerico ma non 0, il valore booleano sarà vero. Altrimenti, il risultato bool recuperato è falso. Facciamo un esempio:

#includere
#includere
#includere
Utilizzo dello spazio dei nomi 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;
string input2 = "1";
bool output2;
istringStream (input2) >> output2;
cout<< "The input value is: " << input2 << endl;
cout<< boolalpha<<"The output value is: " << output2 << endl;
restituzione 0;


Il codice sopra legge un input di stringa "1" e lo converte in un valore booleano utilizzando ISTRINGStream (). La variabile di output bool viene inizializzata ma non assegnata un valore fino a quando non è utilizzato per leggere il valore di input. Il valore booleano viene quindi output utilizzando Cout.

Produzione


Conclusione

Quando le librerie o le API di terze parti vengono utilizzate in un progetto, è necessario per convertire un valore di stringa in un valore booleano. Alcune API o librerie producono in formato stringa e dobbiamo convertire i valori della stringa in booleano per rendere compatibili i risultati. Per eseguirlo abbiamo discusso di vari metodi insieme agli esempi in questo articolo per convertire una stringa in un valore booleano in C++.