📜  C++中的cin

📅  最后修改于: 2021-05-30 02:45:07             🧑  作者: Mango

C++中的cin对象是istream类的对象。它用于接受来自标准输入设备(例如键盘)的输入。它与标准C输入流stdin相关联。提取运算符(>>)与对象cin一起用于读取输入。提取运算符从使用键盘输入的对象cin中提取数据。

程序1:

下面是实现cin对象的C++程序:

C++
// C++ program to demonstrate the
// cin object
#include 
using namespace std;
  
// Driver Code
int main()
{
    string s;
  
    // Take input using cin
    cin >> s;
  
    // Print output
    cout << s;
  
    return 0;
}


C++
// C++ program to illustrate the take
// multiple input
#include 
using namespace std;
  
// Driver Code
int main()
{
    string name;
    int age;
  
    // Take multiple input using cin
    cin >> name >> age;
  
    // Print output
    cout << "Name : " << name << endl;
    cout << "Age : " << age << endl;
  
    return 0;
}


C++
// C++ program to illustrate the use
// of cin.getline
#include 
using namespace std;
  
// Driver Code
int main()
{
    char name[5];
  
    // Reads stream of 3
    // characters
    cin.getline(name, 3);
  
    // Print output
    cout << name << endl;
  
    return 0;
}


C++
// C++ program to illustrate the use
// of cin.get()
#include 
using namespace std;
  
// Driver Code
int main()
{
    char ch;
    cin.get(ch, 25);
  
    // Print ch
    cout << ch;
}


C++
// C++ program to illustrate the use
// of cin.read()
#include 
using namespace std;
  
// Driver Code
int main()
{
    char gfg[20];
  
    // Reads stream of characters
    cin.read(gfg, 10);
  
    // Print output
    cout << gfg << endl;
  
    return 0;
}


C++
// C++ program to illustrate the use
// of cin.ignore()
#include 
  
// used to get stream size
#include 
  
// used to get numeric limits
#include 
using namespace std;
  
// Driver Code
int main()
{
    int x;
    char str[80];
    cout << "Enter a number andstring:\n";
    cin >> x;
  
    // clear buffer before taking
    // new line
    cin.ignore(numeric_limits::max(), '\n');
  
    // Input a string
    cin.getline(str, 80);
    cout << "You have entered:\n";
    cout << x << endl;
    cout << str << endl;
  
    return 0;
}


输入:

输出:

程式2:

使用带有cin的提取运算符(>>)的多个输入。下面是接受多个用户输入的C++程序:

C++

// C++ program to illustrate the take
// multiple input
#include 
using namespace std;
  
// Driver Code
int main()
{
    string name;
    int age;
  
    // Take multiple input using cin
    cin >> name >> age;
  
    // Print output
    cout << "Name : " << name << endl;
    cout << "Age : " << age << endl;
  
    return 0;
}

输入:

输出:

cin还可以与某些成员函数一起使用,如下所示:

cin.getline(char * buffer,int N)

它读取长度为N字符的流入字符串缓冲区,它停止时,它已经读取(N – 1)字符或它找到的文件或字符(\ n)的端部。以下是实现cin.getline()的C++程序:

C++

// C++ program to illustrate the use
// of cin.getline
#include 
using namespace std;
  
// Driver Code
int main()
{
    char name[5];
  
    // Reads stream of 3
    // characters
    cin.getline(name, 3);
  
    // Print output
    cout << name << endl;
  
    return 0;
}

输入:

输出:

cin.get(char&var):

它读取输入字符并将其存储在变量中。以下是实现cin.get()的C++程序:

C++

// C++ program to illustrate the use
// of cin.get()
#include 
using namespace std;
  
// Driver Code
int main()
{
    char ch;
    cin.get(ch, 25);
  
    // Print ch
    cout << ch;
}

输入:

输出:

cin.read(char * buffer,int N):

读取长度为N的字符流。以下是实现cin.read()的C++程序:

C++

// C++ program to illustrate the use
// of cin.read()
#include 
using namespace std;
  
// Driver Code
int main()
{
    char gfg[20];
  
    // Reads stream of characters
    cin.read(gfg, 10);
  
    // Print output
    cout << gfg << endl;
  
    return 0;
}

输入:

输出:

cin.ignore():

忽略或清除输入缓冲区中的一个或多个字符。下面是实现cin.ignore()的C++程序:

C++

// C++ program to illustrate the use
// of cin.ignore()
#include 
  
// used to get stream size
#include 
  
// used to get numeric limits
#include 
using namespace std;
  
// Driver Code
int main()
{
    int x;
    char str[80];
    cout << "Enter a number andstring:\n";
    cin >> x;
  
    // clear buffer before taking
    // new line
    cin.ignore(numeric_limits::max(), '\n');
  
    // Input a string
    cin.getline(str, 80);
    cout << "You have entered:\n";
    cout << x << endl;
    cout << str << endl;
  
    return 0;
}

输入:

输出:

说明:在上面的程序中,如果尚未使用cin.ignore(),则在用户按Enter键输入字符串时输入数字后,输出将仅为输入的数字。该程序将不接受字符串输入。为了避免这个问题cin.ignore()时,这将忽略该字符。

要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”