SerialPort.Read 메서드

정의

SerialPort 입력 버퍼를 읽습니다.

오버로드

Read(Byte[], Int32, Int32)

SerialPort 입력 버퍼에서 여러 바이트를 읽고 해당 바이트를 바이트 배열의 지정된 오프셋에 씁니다.

Read(Char[], Int32, Int32)

SerialPort 입력 버퍼에서 여러 문자를 읽고 해당 문자를 문자 배열의 지정된 오프셋에 씁니다.

Read(Byte[], Int32, Int32)

SerialPort 입력 버퍼에서 여러 바이트를 읽고 해당 바이트를 바이트 배열의 지정된 오프셋에 씁니다.

public:
 int Read(cli::array <System::Byte> ^ buffer, int offset, int count);
public int Read (byte[] buffer, int offset, int count);
member this.Read : byte[] * int * int -> int
Public Function Read (buffer As Byte(), offset As Integer, count As Integer) As Integer

매개 변수

buffer
Byte[]

입력 내용을 쓸 바이트 배열입니다.

offset
Int32

바이트를 쓸 buffer의 오프셋입니다.

count
Int32

읽을 최대 바이트 수입니다. count가 입력 버퍼의 바이트 수보다 크면 더 작은 수의 바이트를 읽습니다.

반환

Int32

읽은 바이트 수입니다.

예외

전달된 버퍼가 null인 경우

지정한 포트가 열려 있지 않은 경우

offset 또는 count 매개 변수가 전달된 buffer의 올바른 영역 밖에 있는 경우 offset 또는 count이(가) 0보다 작습니다.

offsetcount의 합이 buffer의 길이보다 큰 경우

바이트를 읽을 수 없는 경우

설명

텍스트 읽기와 스트림에서 이진 데이터 읽기 사이를 전환해야 하는 경우 수동으로 바이트 읽기 및 데이터 디코딩과 같이 텍스트와 이진 데이터 간의 경계를 신중하게 정의하는 프로토콜을 선택합니다.

클래스는 SerialPort 데이터를 버퍼링하고 속성에 BaseStream 포함된 스트림은 데이터를 버퍼링하지 않으므로 두 클래스는 읽을 수 있는 바이트 수에 대해 충돌할 수 있습니다. 이 속성은 BytesToRead 읽을 바이트가 있음을 나타낼 수 있지만 이러한 바이트는 클래스에 버퍼링 SerialPort 되었기 때문에 속성에 포함된 스트림에 BaseStream 액세스할 수 없습니다.

이 메서드는 읽은 Read 바이트 수가 동일 count 하지만 직렬 포트에서 읽지 않은 바이트가 여전히 있는 경우 다른 작업을 차단하지 않습니다.

적용 대상

Read(Char[], Int32, Int32)

SerialPort 입력 버퍼에서 여러 문자를 읽고 해당 문자를 문자 배열의 지정된 오프셋에 씁니다.

public:
 int Read(cli::array <char> ^ buffer, int offset, int count);
public int Read (char[] buffer, int offset, int count);
member this.Read : char[] * int * int -> int
Public Function Read (buffer As Char(), offset As Integer, count As Integer) As Integer

매개 변수

buffer
Char[]

입력 내용을 쓸 문자 배열입니다.

offset
Int32

문자를 쓸 buffer의 오프셋입니다.

count
Int32

읽을 최대 문자 수입니다. count가 입력 버퍼의 문자 수보다 크면 더 작은 수의 문자를 읽습니다.

반환

Int32

읽은 문자 수입니다.

예외

offsetcount의 합이 버퍼의 길이보다 큰 경우

또는 count가 1이고 버퍼에 서로게이트 문자가 있는 경우

전달된 buffernull인 경우

offset 또는 count 매개 변수가 전달된 buffer의 올바른 영역 밖에 있는 경우 offset 또는 count이(가) 0보다 작습니다.

지정한 포트가 열려 있지 않은 경우

문자를 읽을 수 없는 경우

설명

직렬 포트에서 문자를 읽는 데 이 메서드를 사용합니다.

텍스트 읽기와 스트림에서 이진 데이터 읽기 사이를 전환해야 하는 경우 수동으로 바이트 읽기 및 데이터 디코딩과 같이 텍스트와 이진 데이터 간의 경계를 신중하게 정의하는 프로토콜을 선택합니다.

클래스는 SerialPort 데이터를 버퍼링하고 속성에 포함된 스트림은 그렇지 않으므로 읽을 수 있는 BaseStream 문자 수에 대해 충돌할 수 있습니다. 이 속성은 BytesToRead 읽을 문자가 있음을 나타낼 수 있지만 이러한 문자는 클래스에 버퍼링 SerialPort 되었으므로 속성에 포함된 스트림에 BaseStream 액세스할 수 없습니다.

이 메서드는 읽은 Read 바이트 수가 동일 count 하지만 직렬 포트에서 읽지 않은 바이트가 여전히 있는 경우 다른 작업을 차단하지 않습니다.

적용 대상