memset値が1の20バイト(160ビット)のメモリブロックが割り当てられています。各ビットは着信データを表し、データが受信された場合はビットが設定され、それ以外の場合はリセットされます。最初にすべての160ビットを設定しましたが、データが受信されない場合はリセットします。以下はサンプルコードです。
char *buf = malloc(20);
memset(buf,1,20);
recvfun() {
static int index;
index++;
if(!received)
*buf = *buf ^ (1<<(160-index));
...
}
* bufは完全なメモリブロックではなく8ビットしか提供しないと思うので、ビットをリセットしようとするたびに、上記のコードは最初の8ビットでのみリセットされます。99番目のデータが受信されないと仮定すると、99番目のビットをリセットする必要があります。これを達成するために私を助けてくれませんか。貴重な時間をありがとうございました。