如何在 C++ 中获取空格分隔的输入

17 Mar 2025 | 4 分钟阅读

在本文中,我们将讨论如何在 C++ 中获取以空格分隔的输入。如果我们要获取以空格分隔的输入,我们将使用 cin 对象以及提取运算符 ">>"

程序 1

让我们举一个例子来说明如何在 C++ 中获取以空格分隔的输入

输出

How to take space-separated input in C++

说明

  • 在程序开始时,我们包含一些提供 输入/输出 和数据操作工具的库。
  • 之后,我们首先显示一个友好消息,要求用户输入多个以空格分隔的数字。
  • 我们创建一个名为 inputLine 的变量来存储用户输入的内容。我们使用 getline(cin, inputLine) 从用户那里读取一整行输入(包括空格)。
  • 我们使用 istringstream(输入字符串流)将 inputLine 分解为单个数字。我们创建一个名为 number 的整数变量来暂时存储每个数字。
  • 当我们从 istringstream 中提取数字时,我们将它们存储在一个名为 “vector” 的特殊容器中。将 vector 视为一个我们可以放入数字的列表。通过这种方式,我们可以跟踪用户输入的所有数字。
  • 读取所有数字后,我们显示另一条消息“输入的数字是”。之后,我们遍历 vector 并单独显示每个数字。

程序 2

让我们再举一个例子来说明如何在 C++ 中获取以空格分隔的输入

输出

How to take space-separated input in C++

说明

  • 在此示例中,我们包含标准库头文件:<iostream><vector>。<iostream> 对于输入和输出操作是必需的,而 <vector> 则创建用于存储输入整数的动态数组。
  • 使用 namespace std 是一条指令,它告诉编译器默认使用 std 命名空间。
  • 向用户显示消息。它通知用户他们应该输入以空格分隔的整数,并提供关于表示输入结束的说明,这因操作系统而异。在 Linux/Unix 中,用户可以按 Ctrl+D,而在 Windows 中,他们可以使用 Ctrl+Z。
  • 声明一个名为 numbers 的 vector<int>。CPP 中的 vector 是一个可以增长或缩小大小的动态数组,使其适合存储整数列表。此 vector 将保存用户输入的整数。
  • 声明一个整数变量 num。此变量将暂时存储用户输入的每个整数,然后将其添加到 numbers vector 中。
  • 循环将重复读取和处理用户的输入,直到用户发出他们想要退出的信号。
  • 在循环中,程序使用 cin >> num 从用户那里读取一个整数。>> 运算符是提取运算符,它从输入流 (cin) 中提取(读取)下一个整数值。
  • 读取整数后,程序使用 push_back() 方法将其添加到 numbers vector 中。这会将整数附加到 vector 的末尾,有效地按照用户输入的顺序存储所有整数。
  • 用户完成输入后(通常通过按 Ctrl+DCtrl+Z),循环退出,程序显示输入。
  • 程序输出一条消息“输入的数字是:”,后跟存储在 numbers vector 中的整数。它使用 for 循环遍历 vector 并显示每个以空格分隔的整数。endl 语句在显示输入后换行。

结论

总之,这两个 C++ 程序提供了清晰且用户友好的方法来获取以空格分隔的输入。程序 1 利用 istringstream 解析输入行,而程序 2 直接使用标准 cin 对象。这两个程序都展示了 C++ 处理用户输入的灵活性和简单性。它们引导用户完成输入过程,并有效地存储和显示输入的数据。无论是通过字符串解析还是直接输入,这些程序都展示了处理以空格分隔的输入的有效技术,使其成为 C++ 开发人员的宝贵工具。