Вместо получения такого буфера может быть проще прочитать четыре строки в отдельных string
s от стандартного ввода, используя getline
(используйте цикл, если хотите):
Тогда общая длина данных является суммой отдельных string
длин. В качестве альтернативы используйте этот метод для получения данных от пользователя, а затем объедините их в четыре строки stringstream
.
Пример комбинированного кода:
#include <string>
#include <sstream>
#include <iostream>
std::string s[4];
size_t length(0);
std::ostringstream output;
for (size_t index = 0; index < 4; ++index)
{
getline(std::cin, s[index]);
length += s[index].length();
output << s[index] << std::endl;
}
output.flush();
streamoff streamLength = output.tellp();