📅  最后修改于: 2023-12-03 15:24:08.118000             🧑  作者: Mango
在 C++ 中,从控制台读取一行通常使用 std::getline
函数。该函数可以从输入流中读取一行字符串,将其存储到指定的字符串变量中。
代码示例:
#include <iostream>
#include <string>
int main()
{
std::string line;
std::getline(std::cin, line);
std::cout << "您输入的内容是:" << line << std::endl;
return 0;
}
上面的代码中,std::getline
函数从标准输入流(std::cin
)中读取一行字符串,并将其存储到 line
变量中。然后,使用 std::cout
将读取到的字符串输出到控制台上。
需要注意的是,std::getline
函数遇到换行符时会停止读取,并将换行符从输入流中删除。因此,该函数读取的字符串中不包含换行符。
另外,如果需要读取多行字符串,可以在循环中多次调用 std::getline
函数,直到读取完所有的行。
代码示例:
#include <iostream>
#include <string>
int main()
{
std::cout << "请输入多行文本,以空行结束:" << std::endl;
std::string line;
while (std::getline(std::cin, line) && !line.empty())
{
std::cout << "您输入的内容是:" << line << std::endl;
}
return 0;
}
上面的代码中,程序会一直读取输入流中的字符串,直到遇到空行或文件结束。如果读取到的字符串不为空行,则将其输出到控制台上。
在实际开发中,还需要注意处理输入流的异常情况,例如输入流被关闭或出现读取错误等。为了保证程序的健壮性,最好在调用 std::getline
函数时进行异常处理。
参考资料: