当前位置:首页 C++ > 正文

cin.get()函数和cin.getline

作者:野牛程序员:2023-07-15 06:33:40 C++阅读 2452

cin.get()cin.getline() 是 C++ 中用于从标准输入(通常是键盘)读取字符序列的两个函数。

cin.get() 函数的原型如下:

istream& cin.get(char& c);
istream& cin.get(char* s, streamsize n);
istream& cin.get(char* s, streamsize n, char delim);

这个函数从输入流中读取字符,存储到 css 所指向的字符数组中,直到满足以下条件之一:

  • 读取到换行符 \\n

  • 读取到指定的分隔符 delim(仅适用于第三个原型)。

  • 读取了 n - 1 个字符(仅适用于第二个和第三个原型)。

cin.getline() 函数的原型如下:

istream& cin.getline(char* s, streamsize n);
istream& cin.getline(char* s, streamsize n, char delim);

这个函数从输入流中读取一行字符,存储到 s 所指向的字符数组中,直到满足以下条件之一:

  • 读取到换行符 \\n

  • 读取到指定的分隔符 delim(仅适用于第二个原型)。

  • 读取了 n - 1 个字符。

两个函数的区别在于处理输入的方式:

  • cin.get() 函数会将换行符(\\n)留在输入流中,可以接着读取下一行。

  • cin.getline() 函数会将换行符(\\n)从输入流中移除,下一次读取将从下一行开始。

下面是一个示例,演示了两个函数的使用方式:

#include <iostream>
using namespace std;

int main() {
    char name[20];
    char address[50];

    cout << "Enter your name: ";
    cin.getline(name, 20);
    cout << "Enter your address: ";
    cin.getline(address, 50);

    cout << "Name: " << name << endl;
    cout << "Address: " << address << endl;

    return 0;
}

在这个示例中,使用 cin.getline() 函数读取用户的姓名和地址,并将它们存储在字符数组中。然后,通过 cout 打印出用户输入的姓名和地址。

注意:在使用这两个函数时,要确保字符数组足够大以容纳输入的字符序列,以避免溢出的错误。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击