Там, по сути, нет ни одного - при использовании recv вам нужно вызывать его несколько раз, пока он не прочитает все ваши входные данные. Конечно, вы можете использовать более продвинутые библиотеки сокетов, которые поддерживают растущие буферы, но для простой старой функции recv () вам понадобится массив n (или вектор char).
Конечно, вы можете добавить данные, которые вы прочитали, в динамический буфер, такой как строка:
string page;
while( len = recv( ... ) ) {
page.append( buf, len );
}