Вы не можете. Вы делаете read
в буфер фиксированного размера, например ::1002
char buf[BUF_SIZE];
int num_read = read(0, buf, BUF_SIZE);
, а затем выясните, есть ли еще доступные данные (обычно проверяя, равно ли num_read
BUF_SIZE
, но в некоторых случаях, возможно, вам нужно интерпретировать сами данные). Если есть, то вы делаете еще одно чтение. И так далее.
Вам решать, как объединить все прочитанные данные.