C ++ многострочный ввод - PullRequest
       22

C ++ многострочный ввод

0 голосов
/ 17 ноября 2010

Так что мне нужно создать буфер символов, содержащий 4 строки текста (EN_us), как

first line
line with some number like 5
line 3
empty line

Как правильно получить такой буфер символов от пользователя и как получить его длину?

1 Ответ

2 голосов
/ 17 ноября 2010

Вместо получения такого буфера может быть проще прочитать четыре строки в отдельных 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();
...