📅  最后修改于: 2023-12-03 15:29:43.054000             🧑  作者: Mango
本文介绍了如何使用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++中字符串中的空格。该函数可以用于各种情况,例如从用户输入或文件中读取字符串时,可以用来去除无用的空格。