basic_istream::read

basic_istream::readは、指定された文字数ちょうどの文字列を入力ストリームから読み取る。

basic_ios - cpprefjp C++日本語リファレンス

入力文字列が指定された文字数に達しない場合、文字列決定のリターンキーを入れても、読み込み待ち状態のままになり、文字数に達するまで待ち続ける。
また、文字数に達しない状態でEOFが来ると、入力失敗扱いになる。(今回はやらないが、これについてはいずれ扱う。)

sを"ABCDEFGHIJ"にしておいて、5文字ちょうどをここに読み込ませる。

$ vi basic_istream.cpp
$ g++ basic_istream.cpp -o basic_istream
$ ./basic_istream
s: VWXYZ
s = VWXYZFGHIJ
$ ./basic_istream
s: PQR
x
s = PQR
xFGHIJ
$

"VWXYZ"のように5文字ちょうどでリターンキーを入れると、sに"VWXYZ"が格納される。
ただし、readはNULL終端しないので注意。sは"VWXYZFGHIJ"となる。
"PQR"のように、5文字に達しない場合、リターンキーを入れても改行するだけ。
改行と次の行の"x"を含めて5文字になったので、入力が終了した。

Sample/cpp/basic_istream/read/src/read at master · bg1bgst333/Sample · GitHub