c++写一个程序将键盘输入的字符串去除空格并可循环执行
时间: 2024-12-06 21:23:02 浏览: 16
C++读取带空格字符串的方法
在C++中,你可以创建一个简单的控制台程序,利用`cin`获取用户的输入,然后使用`std::remove_if`和`std::copy`函数移除空格字符。下面是一个基本的示例,使用无限循环让用户可以反复输入:
```cpp
#include <iostream>
#include <algorithm> // 包含 remove_if 和 copy
#include <string>
// 函数模板,用于删除字符串中的空格
template<typename T>
T trim_whitespace(T& str) {
str.erase(str.begin(), std::find_if(str.begin(), str.end(), ::isspace));
str.erase(std::find_if(str.rbegin(), str.rend(), ::isspace).base(), str.end());
return str;
}
int main() {
while (true) { // 无限循环
std::string input;
std::cout << "请输入一个字符串(按回车退出): ";
std::getline(std::cin, input);
// 移除输入字符串中的空格
trim_whitespace(input);
std::cout << "去除空格后的字符串: " << input << std::endl;
// 询问是否继续
char cont;
std::cout << "是否继续? (y/n): ";
std::cin >> cont;
if (cont != 'y') break; // 如果不是'y'则跳出循环
}
return 0;
}
```
在这个程序中,我们定义了一个`trim_whitespace`函数模板,用于删除给定字符串中的空格。在`main`函数里,当用户输入一个字符串后,我们先移除其中的空格,然后显示处理过的字符串,并询问用户是否继续。用户输入'n'就可以退出程序。
阅读全文