21xrx.com
2024-11-21 23:01:56 Thursday
登录
文章检索 我的文章 写文章
将C++字符串中的空格移至开头
2023-06-25 20:47:11 深夜i     --     --
C++ 字符串 空格 移动 开头

C++字符串是一种常见的字符序列,它可以存储任意长度的字符和数字。在字符串中,空格是一种特殊的字符,通常用于分隔其他字符。

然而,有时候我们需要将字符串中的空格移动到开头,这可以通过以下代码实现:


#include <iostream>

#include <string>

using namespace std;

void moveSpaces(string& s) {

  int n = s.size();

  int i = 0, j = 0;

  while (j < n) {

    if (s[j] != ' ') {

      s[i] = s[j];

      i++;

    }

    j++;

  }

  while (i < n) {

    s[i] = ' ';

    i++;

  }

}

int main() {

  string s = "  hello world  ";

  moveSpaces(s);

  cout << s << endl;

  return 0;

}

这段代码中,定义了一个函数`moveSpaces`,它将字符串中的空格移动到开头。具体的实现方法如下:

首先,我们定义两个指针`i`和`j`,表示当前要处理的字符位置。接着,我们遍历整个字符串,如果当前字符不是空格,就将它复制到`i`的位置。最后,我们将剩余的位置都填充上空格即可。

在主函数中,我们将字符串设置为`"  hello world  "`,然后调用`moveSpaces`函数进行处理。这样,输出的结果将会是`"hello world  "`,其中前面的三个空格已经被移动到了字符串的开头。

总的来说,通过这种方法,我们可以很方便地移动字符串中的空格。这对于某些字符串处理任务来说是很有用的。

  
  

评论区

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