21xrx.com
2024-11-05 18:41:27 Tuesday
登录
文章检索 我的文章 写文章
C++如何处理多行int输入中的换行问题
2023-07-11 05:19:45 深夜i     --     --
C++ 多行输入 换行问题 cin getline

在C++ 中处理多行int输入是很常见的需求,然而在输入过程中很容易出现换行问题。因此,本文将介绍如何在C++ 中处理这个问题。

解决方案

一种常见的处理方法是使用getline() 从标准输入流中读取整行输入,然后使用istringstream解析该行。如下所示:


#include <iostream>

#include <string>

#include <sstream>

using namespace std;

int main()

{

  string line;

  int num;

  while (getline(cin, line))

  {

    istringstream iss(line);

    while (iss >> num)

    

      cout << num << " ";

    

    cout << endl;

  }

  return 0;

}

上述代码中,我们首先使用getline() 从标准输入流中读取整行,然后使用istringstream 将其解析成多个 int 。由于istringstream 可以处理多种类型的输入,并视其为一个流,因此可以像cin 一样使用> >运算符来从中提取值。

在上面的例子中,我们使用while 循环嵌套来读取和输出多个整数。iss >> num 尝试从 istringstream 对象中提取整数,如果成功,将其输出。 当读取整数的操作无法成功时自然会退出循环。

结果分析

运行上述代码,每当输入换行时,就会输出一行整数。

例如下面这样的输入:


1 2 3

4 5

6 7 8 9

输出为:


1 2 3

4 5

6 7 8 9

这表明代码成功解决了多行int输入中的换行问题。

总结

本文介绍了如何在C++ 中处理多行int输入中的换行问题。使用getline() 和istringstream 将输入解析成多个 int 是解决这个问题的常见做法。无论是处理多行int输入还是其他类型的输入,掌握这项技能对C++ 编程非常有用。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复