> for(p=0;p<=255;p++) buf[p]=0;
memset(buf, 0x00, sizeof(buf)/sizeof(char))かな。
せめてbzero使え。