在一段串口上位机的代码中,调用了ReadFile()、WriteFile()函数,其中倒数第二个参数赋值为-1。如下面代码:
void SerialPutc(HANDLE hCom , char txchar)
{
BOOL bWriteRC;
static DWORD iByteWritten = -1 ;
bWriteRC = WriteFile( hCom , &txchar , 1 , &iByteWritten , NULL );
return;
}
void SerialGetc(HANDLE hCom , char txchar)
{
BOOL bReadRC;
char ret[4] ;
static DWORD iBytesRead = -1 ;
bReadRC = ReadFile( hCom , ret , 1 , &iBytesRead , NULL );
return ret[0];
}
下面是main中的部分代码:
ret[0] = SerialGetc(hCom);
if ( ret[0] == 'd' )
{
SerialPutc(hCom , 's' );
}
else
{
.....
}
问题:1、对于SerialPutc(),调用WriteFile()将 ‘s’ 作为缓存,赋-1是为了终止将‘s’写入文件中吗?
2、ReadFile()倒数第二个参数是代表实际读出文件的字节数,赋值为-1是为了做什么?
3、-1在我的理解是EOF,但放到这里有想不通。我这样理解对吗?