string s;
s += '\0';
s += '\t';
if (s == "\0\t")
cout << "Yahoo";
Non riesco a ottenere "yahoo".Perché una stringa che contiene ' 0' e ' t' non può usare l'operatore == per confrontare con " 0 t"?
E vuol dire che se voglio controllare una stringa come questa, devo codificare in questo modo?
if (s[0] == '\0' && s[1] == '\t')
cout << "Yahoo";
Perché una stringa letterale non può contenere '\ 0'. Questo è considerato come il terminatore. – EJP
@EJP può contenere '\ 0', il problema è quando si utilizza il costruttore' std :: string (char const *) '. Per esempio, 'cout <<" ab \ 0c "[3]' <- 'c' –
Se vuoi controllare" stringhe "come quella devi usare un' vector 'come per definizione in C++ le stringhe sono zero -terminated. –
RedX