Уточню немного:>>Помогите отладить простенькую прогу.
>>Надо содержимое буфера сравнить с 0x01 и записать yes в случае
>>совпадения.
>> char s[2];
>> int n=0x01, d;
>>
>> strcpy(s,"0x01\n");
>длина этой строки будет 5 байт + 1 байт для символа 0x00.
>> d=atoi(s);
>> if (d==0x01) puts("yes");
>> else puts("no");
>
Фраза "все это в корне не верно" относится к нижеприведенному коду.
> все это в корне не верно.
>
>>
>> или
>> char s[2];
>> strcpy(s,"0x01\n");
>> if (s[0]==0x01) puts("yes");
>тут идет сравнение первого байта, который равен коду символа '0'
>
>> else puts("no");
>> почему все время при запуске выдает
>>: no
>
>1. Вы не понимаете различия типов данных char* и int. Читайте доку.
>
>2. Если вы хотите сравнить строки, нужно использовать ф-ю strcmp, а не
>оператор сравнения. Если хотите использовать оператор ==, то вам нужно строку
>будет переводить в тип int.