所以我需要创建一个包含4行文本(EN_us)的char缓冲区,如
first line
line with some number like 5
line 3
empty line
从用户获取此类char缓冲区以及如何获取其长度的正确方法是什么?
答案 0 :(得分:2)
使用string
(如果您愿意,可以使用循环),可以更容易地从标准输入中读取四行到单独的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();