最近看一个linux下的串口编程,发现一个问题:数组的index用到了-1。
很是奇怪,没有碰到过类似情况
相关代码如下:
char *bufptr;
char buffer[255];
bufptr = buffer;
while((nbytes = read(fd, bufptr, buffer + sizeof(buffer) - bufptr -1)) > 0)
{
bufptr += nbytes;
if (bufptr[-1] == '\n' || bufptr[-1] == '\r')
break;
}