21xrx.com
2024-12-22 23:16:01 Sunday
登录
文章检索 我的文章 写文章
C++中如何输入带空格的字符串?
2023-07-05 07:50:00 深夜i     --     --
C++ input string whitespace getline()

在C++中,输入带有空格的字符串是一个常见的需求,但是在默认情况下,使用cin语句输入字符串时,遇到空格就会停止,只能读取到第一个单词。为了能够输入完整的字符串,我们需要使用其他方法。

一种可行的方法是使用getline()函数。语法为:getline(istream &is, string &str, char delim),其中,istream &is表示输入流,string &str表示字符串变量,char delim表示分界符(默认为'\n'),即当读取到分界符时,就停止读入。

例如,我们要输入一名学生的姓名和年龄,可以使用下面的代码:


#include <iostream>

#include <string>

using namespace std;

int main()

{

  string name;

  int age;

  cout << "请输入学生的姓名和年龄:";

  getline(cin, name, ' ');

  cin >> age;

  cout << "学生姓名是:" << name << endl;

  cout << "学生年龄是:" << age << endl;

  return 0;

}

在这个例子中,我们使用getline()函数输入学生的姓名,并设置分界符为空格,这样就可以读取到整个字符串。然后再使用cin语句输入学生的年龄。最后,输出姓名和年龄。

需要注意的是,如果在输入姓名时,不设置分界符,程序会一直等待输入,直到遇到回车换行符('\n')。因此,一定要指定分界符,避免出现错误。

除了使用getline()函数外,还可以使用其他方法读取带有空格的字符串,例如使用getline()函数的更高级版本,或者使用scanf()函数等。不同的方法适用于不同的场景,需要根据实际需求进行选择。

  
  

评论区

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