0

poll/select を使用して次のコードでデバイスのファイル記述子を読み込もうとしています。デバイスのバイトを読み取ることができます。ループを終了する適切なタイミングを知りたいです。一度に 1 文字ずつ読み取ります。ループを終了するために必要なすべてのバイトを読み取ったら、どうすればそれを達成できますか。

while (continue_reading) 
{   n = read(radioFd, &rc, 1);
        if(rc == START_OF_FRAME)
        {
             start_buffering = 1;
             printf("SOF found \n");
        }
        if(1 == start_buffering)
        {
             read_buffer[read_count] = rc;
             read_count += n;
        } 
}
4

1 に答える 1

1

デバイスがファイルのように動作する場合は、読み取り戻り値 (n) を 0 (ファイルの終わり) でテストする必要があります。また、エラーを特定して errno を確認するために、-1 についてテストする必要もあります。

于 2012-05-08T21:36:01.750 に答える