21xrx.com
2024-12-22 20:40:12 Sunday
登录
文章检索 我的文章 写文章
C++字符串删除空格
2023-07-11 07:45:10 深夜i     --     --
C++ 字符串 删除 空格

在C++中,字符串是一种非常常见的数据类型,程序员常常需要对字符串进行操作,在处理字符串的过程中,我们有时需要将字符串中的空格删除。那么怎样才能实现C++字符串删除空格呢?

实际上,在C++中,有多种方法可以实现字符串删除空格的操作。下文将介绍其中两种较为常见的方法:

方法一:使用STL库中的std::remove函数

在C++的STL库中,有一些函数可以帮助我们对字符串进行操作。其中,std::remove函数可以帮助我们删除字符串中的空格。该函数需要两个参数,分别为字符串的起始地址和结束地址。函数会将起始地址到结束地址这段区间内的所有元素中值等于空格的元素删除,将其后面的元素向前移动。

下面是使用std::remove函数实现C++字符串删除空格的代码:


#include <iostream>

#include <string>

#include <algorithm>

using namespace std;

void removeSpaces(string& str)

{

  string::iterator end_pos = std::remove(str.begin(), str.end(), ' ');

  str.erase(end_pos, str.end());

}

int main()

{

  string str = "Hello, world !";

  removeSpaces(str);

  cout << str << endl;

  return 0;

}

方法二:自己实现删除空格的函数

此外,我们也可以自己实现函数,来完成C++字符串删除空格的操作。具体代码如下:


#include <iostream>

#include <string>

using namespace std;

string removeSpaces(string str)

{

  int i = 0, j = 0;

  while (str[i])

  {

    if (str[i] != ' ')

      str[j++] = str[i];

    i++;

  }

  str[j] = '\0';

  return str;

}

int main()

{

  string str = "Hello, world !";

  str = removeSpaces(str);

  cout << str << endl;

  return 0;

}

以上两种方法都可以实现C++字符串删除空格的操作,需要根据具体的场景和需求来选择适合自己的方法。无论采用哪种方法,都可以帮助我们更加方便地对字符串进行操作。

  
  

评论区

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