C言語で、unsigned charの文字列を比較したいのです


C言語で、main関数を書いています。  
送られてきた情報を区切るところまで出来ているのですが、その最初の文字が7Eで始まっているかをifで書きたいです。ただ、うまくいかず教えていただきたいです。

unsigned char buffの先頭が7Eになるはずなので、  
if(strcmp(buff,"7E",2)==0){  
かと思ったのですが、unsigned
charではstrcmp使えないし、分からなくなってしまいました。C言語は最近勉強しだしたので、わからないことだらけです。  
すみませんが、宜しくお願い致します。

[code]

     static void tty-read(void)
        {
         int i =0;
    　　unsigned char buff[1024];
        size-t len;
        TTYnitBlock(0x7E, 1,2,0,0,1);
        for(;;)
        len=TTYReadFrame(ttyfd, buff, 1024);
        if(len<0){
          fprintf(stderr, "TTYReadFrame %zd %d\n", len, errno);
          exit(1);
        }
         printf("Frame:%d len=%zd|n", i++, len);
         dump-packet(buff, len);
        }
        }
    
[/code]




先頭の値が0x7Eであることを調べるなら以下のようになります。

[code]

        if(buff[0] == 0x7E){
    
[/code]

文字通り"7E"をチェックするのであれば、キャストしてstrcmpで構いません。

[code]

        if(strncmp((char const *)buff,"7E",2)==0){
    
[/code]

