📜  C++ 中的 getline()函数和字符数组

📅  最后修改于: 2022-05-13 01:54:55.175000             🧑  作者: Mango

C++ 中的 getline()函数和字符数组

C++ getline() 是一个标准库函数,用于从输入流中读取字符串或行。它是 < 字符串> 标头的一部分。 getline()函数从输入流中提取字符并将其附加到字符串对象,直到遇到分隔字符。必须阅读 C++ 中的 getline(字符串) 文章以获取更多详细信息。

在 C++ 中,流类支持面向行的函数,getline() 和 write() 分别执行输入和输出函数。

Getline字符数组:此函数读取以换行符结尾的整行文本或直到达到最大限制。 getline() 是 istream 类的成员函数。

句法:

// (buffer, stream_size, delimiter)
istream& getline(char*, int size, char='\n')

// The delimiter character is considered as '\n'
istream& getline(char*, int size)

参数:

  • char*:指向数组的字符指针。
  • 大小:充当定义数组大小的分隔符。

该函数执行以下操作:

  • 提取字符直到分隔符。
  • 将字符存储在缓冲区中。
  • 提取的最大字符数为 size – 1。

例如:

Input: Aditya Rakhecha 
CPP
// C++ program to show the getline() with
// character array
#include 
using namespace std;
  
// Driver Code
int main()
{
    char str[20];
    cout << "Enter Your Name::";
  
    // see the use of getline() with array
    // str also replace the above statement
    // by cin >> str and see the difference
    // in output
    cin.getline(str, 20);
  
    cout << "\nYour Name is:: " << str;
    return 0;
}


输出

Your Name is:: Aditya Rakhecha

解释:在上述程序中,语句cin.getline(str, 20);读取一个字符串,直到遇到字符或最大字符数(此处为 20)。尝试具有不同限制的函数并查看输出。