21xrx.com
2024-11-05 14:46:43 Tuesday
登录
文章检索 我的文章 写文章
C++如何实现在一行输入带有空格的两个字符串
2023-07-05 17:15:51 深夜i     --     --
C++ 输入 空格 字符串 实现

在 C++ 中,使用 `cin` 输入字符串是一种常见的做法。然而,当输入的字符串含有空格时,`cin` 会将空格及之后的字符视为下一个输入。要输入带有空格的两个字符串,我们可以使用 `getline()` 函数。

首先,我们需要包含头文件 ` `。`getline()` 函数的原型如下:


istream& getline (istream& is, string& str, char delim);

其中,`is` 是要从中读取输入的输入流,`str` 是一个字符串对象,在该函数中存储输入的字符串,`delim` 是分隔符,指定在何处停止读取输入。

当 `delim` 未指定时,`getline()` 函数默认以换行符作为分隔符。为了在一行输入两个字符串,我们需要指定空格作为分隔符。我们可以使用 `getline()` 函数读取整行输入,并使用 `stringstream` 对象拆分两个输入。

下面是实现该功能的代码:


#include <iostream>

#include <string>

#include <sstream>

using namespace std;

int main() {

  string str;

  getline(cin, str);

  stringstream ss(str);

  string str1, str2;

  ss >> str1 >> str2;

  cout << "输入的字符串1为:" << str1 << endl;

  cout << "输入的字符串2为:" << str2 << endl;

  return 0;

}

在上面的例子中,我们通过 `getline()` 函数读取了一行输入并存储在 `str` 字符串对象中。接下来,我们使用一个 `stringstream` 对象 `ss` 对输入进行拆分。使用 `ss >> str1 >> str2;` 可以将输入中的两个字符串分别存储在 `str1` 和 `str2` 字符串对象中。最后,我们使用 `cout` 输出了两个字符串。

总的来说,要在 C++ 中实现在一行输入带有空格的两个字符串,我们可以使用 `getline()` 函数读取整行输入,并使用 `stringstream` 对象拆分两个输入。

  
  

评论区

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