21xrx.com
2024-11-22 06:09:02 Friday
登录
文章检索 我的文章 写文章
C++中如何输入带空格的字符串
2023-07-13 19:57:37 深夜i     --     --
C++字符串输入 带空格字符串输入 getline函数 cin getline函数 接收空格输入

在C++中,输入带有空格的字符串可能会有一些问题。一些初学者可能会发现输入的字符串没有包含空格之后就结束了。这是因为C++默认将空格视为分隔符,而不是字符串的一部分。下面介绍几种常用的方法来输入带有空格的字符串。

方法1:使用getline函数

使用getline函数可以很容易地输入含有空格的字符串,该函数可以读取一行字符串,包括空格,并将其存储在一个字符串变量中。示例代码如下:


#include <iostream>

#include <string>

using namespace std;

int main() {

  string str;

  getline(cin, str);

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

  return 0;

}

该代码通过调用getline函数来获取用户输入的一行字符串,并将其存储在str变量中。然后,程序将该字符串输出到控制台上。

方法2:使用cin.getline函数

另一个方法是使用cin.getline函数。该函数与getline函数类似,可以读取一行字符串,包括空格,并将其存储在一个字符数组中。示例代码如下:


#include <iostream>

using namespace std;

int main() {

  char str[100];

  cout << "请输入一个带有空格的字符串:" << endl;

  cin.getline(str, 100);

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

  return 0;

}

该代码通过调用cin.getline函数来获取用户输入的一行字符串,并将其存储在str数组中。然后,程序将该字符串输出到控制台上。

方法3:使用cin.get函数

最后一个方法是将空格作为分隔符,并使用cin.get函数。示例代码如下:


#include <iostream>

using namespace std;

int main() {

  char str[100];

  cout << "请输入一个带有空格的字符串:" << endl;

  int i = 0;

  char ch = cin.get();

  while (ch != '\n' && i < 99) {

    str[i] = ch;

    i++;

    ch = cin.get();

  }

  str[i] = '\0';

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

  return 0;

}

该代码使用cin.get函数来逐个读取字符,并将其存储在str数组中,直到遇到换行符或者字符数组已经存满为止。然后,程序将该字符串输出到控制台上。

总结:

以上三种方法都可以很好地输入带有空格的字符串,具体使用哪种方法取决于个人喜好和实际情况。但是需要注意的是,当读取含有空格的字符串时,应该完全读取一行字符,否则输入将不完整。

  
  

评论区

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