📜  C ++程序从字符串中删除空格(1)

📅  最后修改于: 2023-12-03 15:29:43.054000             🧑  作者: Mango

C++程序从字符串中删除空格

本文介绍了如何使用C++编写一个函数来删除给定字符串中的所有空格。我们将使用循环和指针来遍历字符串并删除空格。最终代码会遍历整个字符串并返回一个新的字符串,其中空格被删除了。

删除空格的函数实现
#include <iostream>
#include <cstring>
using namespace std;

void removeSpaces(char* str) { 
    int len = strlen(str); 
    int j = 0; 

    for (int i = 0; i < len; i++) { 
        if (str[i] != ' ') { 
            str[j] = str[i]; 
            j++; 
        } 
    } 
    str[j] = '\0'; 
} 

int main() { 
    char str[] = "This is a string with spaces."; 
    cout << "Original String:\n'" << str << "'" << endl; 

    removeSpaces(str); 

    cout << "String after removing spaces:\n'" << str << "'" << endl; 

    return 0; 
} 
代码解析

**1. removeSpaces(char *str)**函数接受一个字符串参数,并删除其中的所有空格。

**2. int len = strlen(str)**确定给定字符串的长度。

**3. int j = 0;**设置一个变量'j',它将用于存储新字符串中的字符位置。

**4. for (int i = 0; i < len; i++)**循环遍历字符串中的所有字符。

**5. if (str[i] != ' ')**如果当前字符不是空格,则将该字符复制到新字符串中,并将'j+1'。

**6. str[j] = '\0';**结束新字符串的字符流。

**7. 示例输出:

Original String:
'This is a string with spaces.'
String after removing spaces:
'Thisisastringwithspaces.'
总结

现在您已经学习了如何删除C++中字符串中的空格。该函数可以用于各种情况,例如从用户输入或文件中读取字符串时,可以用来去除无用的空格。