0

我正在尝试读取设备的文件描述符。使用 poll/select 使用以下代码。我能够读取设备的字节。我想知道何时是退出循环的正确时间。我是一次读取一个字符。一旦它读取了我需要从循环中退出的所有字节。我该如何完成。

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(文件结尾)。并且您还需要测试它是否为 -1,以识别错误并检查 errno。

于 2012-05-08T21:36:01.750 回答