c++键盘读入一个字符串以换行符结尾到str数组里面
时间: 2024-09-25 20:17:25 浏览: 35
在 C++ 中,你可以使用 `std::getline` 函数从标准输入流(通常是键盘)读取字符串,直到遇到换行符为止,并将其存储到字符数组(如 `std::string` 或者字符数组 `char str[]`)中。这里是一个基本的例子:
```cpp
#include <iostream>
#include <string>
std::string readStringFromUser() {
std::string str;
std::cout << "请输入一个以换行符结尾的字符串: ";
std::getline(std::cin, str); // 使用 getline 读取直到换行符('\n')
return str; // 返回读取的字符串
}
int main() {
char input[100]; // 如果你想使用字符数组,记得给它足够大的空间
// 注意,字符数组需要手动添加 '\0' 作为结束标志
std::getline(std::cin, input, '\n');
// 在这里,getline 不会自动添加 '\0',你需要在适当位置手动添加
// 如果使用字符数组,还需要手动检查是否已达到最大长度并添加 '\0'
if (input[strlen(input) - 1] != '\0') {
input[strlen(input)] = '\0'; // 添加 '\0'
}
std::string userStr = readStringFromUser();
// 或者直接将上面两行替换为这一行,如果不需要字符数组的话
// std::string userStr = "这是一个以换行符结尾的字符串";
// 打印或进一步处理用户输入的字符串
std::cout << "你输入的字符串是: " << userStr << std::endl;
return 0;
}
```
在这个例子中,`std::getline` 用于读取用户输入,并会在遇到换行符时停止。对于字符数组,记得手动添加终止符 `'\0'`。
阅读全文