21xrx.com
2025-06-30 23:53:27 Monday
登录
文章检索 我的文章 写文章
C++如何处理多行int输入中的换行问题
2023-07-11 05:19:45 深夜i     26     0
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++ 编程非常有用。

  
  

评论区