C++ 获取多行

标签 c++ input console

我需要一种方法来读取用户在控制台中粘贴的行。用户以这种方式粘贴它:

第一行:n - 除了这一行之外的行数

2nd - nth: 一个字符串对象

如果我用 cin 读取它,它会读取第一行,退出程序,然后将下一行放在控制台输入中。使用 scanf 我得到类似的结果。

string s[100];

int N = 0;
scanf("%i", N);

for (int i = 0; i < N; i++)
{
scanf("%s", s);
}

最佳答案

如果你使用 std::vector<std::string> 会更好并使用 std::getline提取行:

std::vector<std::string> lines;
std::string line;

while (std::getline(std::cin >> std::ws, line))
{
    if (!line.empty())
        lines.push_back(line);
}

关于C++ 获取多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19881868/

相关文章:

jquery - 如何使用 jQuery 获取输入字段的名称?

regex - 将输入字段中的字符限制为字母和数字

javascript - 如何选择另一个元素内的一个元素?

c# - 从 .BAT 运行带有 .application 文件类型的 c# 控制台应用程序

c++ - 如何获取文件夹中的文件列表,其中文件按修改的日期时间排序?

c++ - 使用 boost::geometry::within 编译错误

c++ - 应用程序崩溃,没有任何解释

c++ - 成员函数的函数指针

python - 根据用户输入检查列表中的重复项

python - 如何检测 sys.stdout 是否连接到终端?