Ce face std::boolalpha
Implicit, std::cout << true afișează 1. După std::cout << std::boolalpha, valorile bool apar ca true și false, până la std::noboolalpha.
Pe un flux de intrare, std::boolalpha face ca >> să accepte cuvintele true/false în loc de 1/0. std::println afișează oricum true/false.
Exemple
Exemplul 1: Afișarea valorilor bool
#include <iomanip>
#include <iostream>
int main() {
int varsta = 17;
bool major = varsta >= 18;
std::cout << "Major: " << major << '\n';
std::cout << std::boolalpha;
std::cout << "Major: " << major << '\n';
std::cout << "5 > 3: " << (5 > 3) << '\n';
std::cout << std::noboolalpha << "Înapoi la cifre: " << (5 > 3) << '\n';
}
Rezultat
Major: 0
Major: false
5 > 3: true
Înapoi la cifre: 1
Exemplul 2: Citirea cuvintelor true/false
#include <iomanip>
#include <iostream>
#include <sstream>
int main() {
std::istringstream setari("true false");
bool notificari = false, mod_intunecat = true;
setari >> std::boolalpha >> notificari >> mod_intunecat;
std::cout << std::boolalpha;
std::cout << "Notificări: " << notificari << '\n';
std::cout << "Mod întunecat: " << mod_intunecat << '\n';
}
Rezultat
Notificări: true
Mod întunecat: false
Greșeli frecvente
- Citești
truefărăstd::boolalpha: citirea eșuează, pentru că implicit se așteaptă1sau0.
Comenzi înrudite
std::cout: Afișează text și valori în consolă, cu operatorul <<.std::hex: Afișează și citește numerele întregi în baza 16 (hex), 8 (oct) sau 10 (dec).std::showpos: Afișează semnul + în fața numerelor pozitive (și a lui zero).