用字符数组的方法,C++去掉字符串中所有空格
时间: 2024-11-03 07:13:46 浏览: 21
在C++中,如果你想从字符串中删除所有的空格,可以使用字符数组遍历的方法。首先,你需要获取字符串的长度,并创建一个新的字符数组来存储处理后的结果。这里是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
// 函数来删除字符串中的空格
void removeSpaces(char str[], int& length) {
int i = 0;
for (int j = 0; j < length; ++j) { // 遍历原字符串
if (str[j] != ' ') { // 如果不是空格
str[i++] = str[j]; // 将非空格字符复制到新数组
}
}
str[i] = '\0'; // 结束新数组
length = i; // 更新新的字符串长度
}
int main() {
char originalStr[] = "Hello World! This is a test.";
int origLength = strlen(originalStr);
removeSpaces(originalStr, origLength);
cout << "Original string with spaces removed: " << originalStr << endl;
return 0;
}
```
在这个例子中,`removeSpaces`函数会将输入字符串中的非空格字符逐个复制到新的字符数组中,然后更新长度。注意,`length`是引用传递,以便函数内部可以直接修改。
阅读全文