21xrx.com
2024-11-08 22:04:00 Friday
登录
文章检索 我的文章 写文章
C++:删除键盘输入字符串中的空格
2023-07-08 22:18:35 深夜i     --     --
C++ 删除 键盘输入 字符串 空格

在C++中,删除键盘输入字符串中的空格是一个很常见的操作,因为很多时候我们需要对用户输入的字符串进行处理,并且空格并不是我们需要的,从而影响程序的正确性。下面,我们来看一下如何使用C++语言来删除键盘输入字符串中的空格。

要实现删除键盘输入字符串中的空格,我们可以使用C++中的字符串处理类,即string类。string类提供了一些很方便的方法可以帮我们快速完成这个操作。

首先,我们需要包含 头文件以使用string类。然后,我们可以通过键盘输入一个字符串,并将其存储在一个string对象中,如下所示:


#include <iostream>

#include <string>

using namespace std;

int main()

{

  string str;

  cout << "Enter a string: ";

  getline(cin, str);

  cout << "Original string: " << str << endl;

  return 0;

}

以上代码将从键盘接收一个字符串,并将其存储在名为str的string对象中。接下来,我们需要将这个字符串中的空格删除。我们可以使用string类的erase和remove_if方法实现这一目标。

其中,erase方法用于删除指定位置上的字符,而remove_if方法则用于移除符合指定条件的所有元素。结合使用,我们可以这样代码来删除键盘输入字符串中的空格:


#include <iostream>

#include <string>

#include <algorithm>

using namespace std;

int main()

{

  string str;

  cout << "Enter a string: ";

  getline(cin, str);

  cout << "Original string: " << str << endl;

  str.erase(remove_if(str.begin(), str.end(), [](char c){ return isspace(c); }), str.end());

  cout << "String without spaces: " << str << endl;

  return 0;

}

在以上代码中,我们使用了remove_if方法来移除字符串中的空格。该方法的第一个参数为迭代器的起始位置,第二个参数为迭代器的结束位置,第三个参数为Lambda表达式,用于判断空格。这个Lambda表达式将处理每个字符,如果是空格就返回true,否则返回false。移除空格后,我们使用erase方法来将其从字符串中删除。

综上所述,C++中可以很方便地删除键盘输入字符串中的空格,只需要使用string类的erase和remove_if方法即可。这种操作不仅简单,而且非常有效,可以提高程序的运行效率,并且更好地满足实际需求。如果您需要删除键盘输入字符串中的空格,不妨尝试一下这种方法。

  
  

评论区

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