📜  C++中的getline(字符串)(1)

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

C++中的getline(字符串)

在C++中,getline是一个用于从输入流中读取一行字符串的函数。它是C++标准库<string>中的一部分,被广泛用于处理用户输入、文件读取等场景。

函数原型

getline函数的函数原型如下:

istream& getline (istream& is, string& str, char delim);
  • is:输入流对象,可以是cin或者文件流对象。
  • str:用于存储读取字符串的对象,通常是一个string类型的变量。
  • delim:可选参数,表示行尾分隔符,默认为'\n'
函数功能
  • 从输入流中读取一行字符,直到遇到分隔符或者文件结束。
  • 将读取的字符存储到目标字符串中,覆盖原有内容。
使用示例

下面是一个简单的示例,演示了如何使用getline函数从标准输入中读取一行字符串:

#include <iostream>
#include <string>

int main() {
    std::string str;
    std::cout << "请输入一行字符串:";

    std::getline(std::cin, str);

    std::cout << "您输入的字符串是:" << str << std::endl;

    return 0;
}

以上程序通过std::getline(std::cin, str)语句从std::cin(标准输入流)中读取一行字符串,并将其存储到名为strstd::string变量中。然后,程序将读取的字符串输出到标准输出流上。

注意事项
  • 如果getline函数读取到行尾分隔符,则分隔符不会包含在返回的字符串中。默认情况下,行尾分隔符为换行符'\n'。如果遇到文件结束符,则返回的字符串将包含行尾分隔符(如果有的话)。
  • 可以使用getline函数读取空行或包含空格的行。
结论

getline函数为C++程序员提供了一种方便的方式来读取用户输入、文件内容等等。掌握了getline函数的使用,可以更好地处理字符串输入,提高程序的效率和健壮性。