Здравствуйте, RussianFellow, Вы писали:
RF>Правильно писать:
RF>if ((strcmp(status,"1234")==0)||
RF> (strcmp(status,"2345")==0)||
RF> (strcmp(status,"3456")==0))
RF>{
RF> // do something
RF>}
RF>Потому что в C/C++ строковая переменная представляет собой указатель на самый первый (нулевой) элемент строки. И поэтому для сравнения строк надо пользоваться не = , а функцией strcmp, которая возвращает 0 в случае равенства и ненулевое значение в случае неравенства.
В С++ есть класс
std::string, и перегруженный
operator==(). Если тип status — std::string, то сравнение status == "1234" сравнивает строки. А strcmp нужно использовать для типов char* или char[].