C++中的cin¶
C++中的cin
对象是iostream
类的一个实例。它用于从标准输入设备(即键盘)接收输入。它与标准C输入流stdin
相关联。提取运算符(>>
)与cin
对象一起使用来读取输入。提取运算符从cin
对象中提取通过键盘输入的数据。
程序1:
下面是一个实现cin
对象的C++程序
C++
// C++程序演示多个输入
#include <iostream>
using namespace std;
// 驱动代码
int main()
{
string name;
int age;
// 使用cin获取多个输入
cin >> name >> age;
// 打印输出
cout << "Name : " << name << endl;
cout << "Age : " << age << endl;
return 0;
}
Input:
Output:
程序2:
使用提取运算符(>>
)进行多个输入。下面是一个C++程序来获取多个用户输入:
C++
// C++程序演示多个输入
#include <iostream>
using namespace std;
// 驱动代码
int main()
{
string name;
int age;
// 使用cin获取多个输入
cin >> name >> age;
// 打印输出
cout << "Name : " << name << endl;
cout << "Age : " << age << endl;
return 0;
}
Input:
Output:
cin还可以与一些成员函数一起使用,如下所示:
- cin.getline(char *buffer, int N): 它将长度为N的字符流读取到字符串缓冲区中。当读取到(N-1)个字符、遇到文件结束或换行符(
\n
)时停止。下面是实现cin.getline()
的C++程序:
C++
// C++程序演示cin.getline的使用
#include <iostream>
using namespace std;
// 驱动代码
int main()
{
char name[5];
// 读取3个字符的流
cin.getline(name, 3);
// 打印输出
cout << name << endl;
return 0;
}
Input:
Output:
cin.get(char& var): 它读取一个输入字符并将其存储在一个变量中。下面是实现cin.get()
的C++程序:
C++
// C++程序演示cin.get()的使用
#include <iostream>
using namespace std;
// 驱动代码
int main()
{
char ch[30];
cin.get(ch, 25);
// 打印ch
cout << ch;
}
Input:
Output:
cin.read(char *buffer, int N): 读取长度为N的字符流。下面是实现cin.read()
的C++程序:
C++
// C++程序演示cin.read()的使用
#include <iostream>
using namespace std;
// 驱动代码
int main()
{
char gfg[20];
// 读取字符流
cin.read(gfg, 10);
// 打印输出
cout << gfg << endl;
return 0;
}
Input:
Output:
cin.ignore(): 它忽略或清除输入缓冲区中的一个或多个字符。下面是实现cin.ignore()
的C++程序:
C++
// C++程序演示cin.ignore()的使用
#include <iostream>
#include <ios>
#include <limits>
using namespace std;
// 驱动代码
int main()
{
int x;
char str[80];
cout << "Enter a number and string:\n";
cin >> x;
// 在输入新行前清除缓冲区
cin.ignore(numeric_limits<streamsize>::max(), '\n');
// 输入字符串
cin.getline(str, 80);
cout << "You have entered:\n";
cout << x << endl;
cout << str << endl;
return 0;
}
Input:
Output:
解释: 在上述程序中,如果没有使用cin.ignore()
,则在输入数字后按回车键输入字符串时,输出将只包含输入的数字。程序将不会接受字符串输入。为了避免这个问题,使用cin.ignore()
,它将忽略换行符。