ストリーム (私にとっては実際には COM ポート上のストリーム) で行を読み取る場合、返される文字列には \n または \r 文字 (または \r\n の組み合わせ) は含まれません。ログの目的で、それらを保持したいと思います。現在、私のループは次のようになっています。
while (newPort.BytesToRead > 0)
{
received = ReadLine(newPort);
response.Add(received);
}
つまり、基本的には文字列を読み取り、それを という文字列のリストに追加していますresponse
。私が望むのは、返された文字列received
に、元のストリームにあった \r または \n または \r\n を含め、テキスト行を終了させることです。
これは簡単に可能ですか?または、自明ではありません!
これを行うのはかなり難しいと思います。つまり、\r を受け取った場合、次の文字を取得して \n かどうかを確認する必要があります。次の文字がない場合は、例外でタイムアウトします。次の文字があり、それが \n でない場合、次の反復で現在の文字にする必要があります...!