用c➕➕来写:输入一个字符串,首尾有多会的空格,编写程序来去除这些多余的空格。要求必须使用指针来完成本题
时间: 2024-10-10 17:05:34 浏览: 17
在 C++ 中,你可以通过遍历字符串并使用指针来移除首尾多余的空格。这里有一个简单的示例:
```cpp
#include <iostream>
#include <string>
// 函数声明,用于处理字符串去空格
std::string trimSpaces(const std::string& str);
int main() {
std::string input;
std::cout << "请输入一个包含多余空格的字符串: ";
getline(std::cin, input); // 使用getline获取带空格的完整行
std::string trimmedStr = trimSpaces(input);
std::cout << "去除空格后的字符串: " << trimmedStr << std::endl;
return 0;
}
// 定义函数 trimSpaces
std::string trimSpaces(const std::string& str) {
if (str.empty()) return str; // 如果字符串为空,直接返回
size_t start = 0;
for (size_t i = 0; i < str.length(); ++i) { // 遍历字符串
if (!isspace(str[i])) { // 如果遇到非空格字符
str[start] = str[i]; // 移动非空格到新位置
start++; // 更新起始位置
}
}
str[start] = '\0'; // 确保结束符也在新的范围内
return str.substr(0, start); // 返回新字符串,不含多余空格
}
```
在这个例子中,`trimSpaces` 函数接收一个字符串引用,并使用 `isspace` 函数检查每个字符是否为空格。如果不是,就将其移动到新位置,同时更新起始位置。最后,它截取并返回去掉多余空格的新字符串。
阅读全文