string s;
s += '\0';
s += '\t';
if (s == "\0\t")
cout << "Yahoo";
Tôi không thể nhận được "yahoo".Tại sao một chuỗi chứa ' 0' và ' t' không thể sử dụng toán tử == để so sánh với " 0 t"?
Và điều đó có nghĩa là nếu tôi muốn kiểm tra chuỗi như thế này, tôi phải viết mã như thế này?
if (s[0] == '\0' && s[1] == '\t')
cout << "Yahoo";
Vì chuỗi ký tự không thể chứa '\ 0'. Đó là thực hiện như là terminator. – EJP
@EJP nó có thể chứa '\ 0', vấn đề là khi sử dụng hàm tạo' std :: string (char const *) '. Ví dụ, 'cout <<" ab \ 0c "[3]' <- 'c' –
Nếu bạn muốn kiểm tra" chuỗi "như thế bạn cần sử dụng' vector 'theo định nghĩa trong chuỗi C++ là 0 - đã hoàn thành. –
RedX