если я делаю так... foo(char * recv_data) { if(recv_data[1] == 0x01 ) { //whatever } } или вот так foo(char * recved_data) { if(strcmp(recved_data[1] , "0x01") ==0 ) { //whatever } } то получаю болт. что не так то? как проверить первый байт на hex 0x01 ?
дорогой raisin прочитай хотя бы одну книжку по С или С++ а уж потом пиши подобные глупые воросы ... В С/C++ индексация массивов начинается с 0 первому элементу соответствует индекс 0 второму 1 третьему 2 ЗЫ если уж тебе так охота что бы первый элемент имел индекс 1 а не ноль то юзай следующий код Код (Text): char *ptr=recv_data; ptr--; ptr[1]; ptr указывает на предыдущий элемент массива recv_data таким образом ptr[1] тожесамое что и recv_data[0]