c++输入带空格但去除endl的string
时间: 2024-09-21 07:13:14 浏览: 39
C++中 string 中的常用方法使用心得
5星 · 资源好评率100%
在C++中,如果你想从标准输入流(如cin)获取用户输入的一行字符串并移除其中的换行符('\n'),但不想包含额外的空格,你可以这样做:
```cpp
#include <iostream>
#include <sstream>
std::string getInputWithoutSpacesOrEndl() {
std::string input;
std::getline(std::cin, input); // 读取一行,包括空格和换行
// 使用stringstream去除多余的空间和换行符
std::istringstream iss(input);
std::string token;
while (iss >> token) { // 当能读取下一个token时...
if (!isspace(token[0])) { // 如果不是空格字符...
input = token; // 将非空格字符添加到结果字符串中
}
}
return input;
}
int main() {
std::string str = getInputWithoutSpacesOrEndl();
std::cout << "Input without spaces or endl: " << str << std::endl;
阅读全文