📜  如何在 C++ 中从控制台读取一行(1)

📅  最后修改于: 2023-12-03 15:24:08.118000             🧑  作者: Mango

如何在 C++ 中从控制台读取一行

在 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 函数时进行异常处理。

参考资料: