繁体   English   中英

C ++多行输入

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM