c++如何实现输入一个长度不定的字符串
时间: 2024-10-19 21:09:35 浏览: 77
在C++中,你可以使用`std::string`容器来处理长度不定的字符串,并结合`getline`函数从标准输入流(如键盘)获取用户输入。下面是一个简单的例子:
```cpp
#include <iostream>
#include <string>
int main() {
std::string input;
std::cout << "请输入一个字符串:" << std::endl;
getline(std::cin, input); // 使用getline函数读入一行文本直到遇到换行符
std::cout << "你输入的字符串是:" << input << std::endl;
return 0;
}
```
在这个例子中,`getline`会将用户按回车键输入的一行内容保存到`input`变量中。如果你想要处理每输入一个字符就添加到字符串的情况,可以使用`std::cin.get()`配合字符缓冲区:
```cpp
#include <iostream>
#include <vector> // 用于存储字符
std::string readInput() {
std::string str;
char ch;
while (std::cin.get(ch)) { // 获取每个字符,直到遇到EOF(例如按下Ctrl+D)
if (ch != '\n') { // 跳过换行符
str.push_back(ch); // 将非换行符字符添加到字符串中
}
}
return str;
}
int main() {
std::string input = readInput();
std::cout << "你输入的字符串是:" << input << std::endl;
return 0;
}
```
阅读全文