[英]C++ multiple lines input
所以我需要创建一个包含4行文本(EN_us)的char缓冲区,例如
first line
line with some number like 5
line 3
empty line
从用户那里获取这种char缓冲区的正确方法是什么,以及如何获取其长度?
使用getline
可以更容易地从标准输入读取四行到单独的string
s中(如果您愿意,可以使用循环),而不是获得这样的缓冲区:
然后,总数据长度是各个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();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.