目录
cin>>
属于istream流
1)用于输入数字。
#include <iostream>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
cout << a << '\n' << b << endl;
}
2)接收一个字符串,与空格,TAB,回车键读取都会结束。
#include <iostream>
using namespace std;
int main()
{
char a[100];
cin >> a;
cout << a << endl;
}
cin.get()
属于istream流
1)可以用来接收字符
cin.get( [字符变量名] )
或
[字符变量名] = cin.get();
#include <iostream>
using namespace std;
int main()
{
char a;
a = cin.get(); // 或者 cin.get(a);
cout << a << endl;
}
2)接收一个字符串,可以接收空格。
cin.get( [字符指针(char *)], 字符串长度 )
#include <iostream>
using namespace std;
int main()
{
char str[1000];
cin.get(str, 100);
cout << str << endl;
}
getline()
用getline()读取多行文本(包含空格,以字符delim结束,默认以回车键结束)
需包含 #include <string>
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
getline(cin, str);
cout << str << endl;
}
C++11中的原型是:
(1) | |
---|---|
(2) | |
其中 istream &is 表示一个输入流,如 cin;string&str 表示把从输入流读入的字符串存放在这个字符串类型 str 当中(可以自己随便命名,str什么的都可以);char delim表示遇到这个字符停止读入,在不设置的情况下系统默认该字符为'\n',也就是回车换行符(遇到回车停止读入)。
cin.getline()
可以读取整行文本(可以包含空格)
#include <iostream>
using namespace std;
int main()
{
char str[1000];
int n = 100; // n 的大小不能超过1000
cin.getline(str, n); // 接受小于等于100个字符的输入,包括最后一个'\0',但不能超过100个
cout << str << endl;
}
cin.getline()实际上有三个参数:
cin.getline( [字符指针(char *)], [字符串长度], [结束字符] );
当第三个参数省略时,系统默认为'\0'。
当用在多维数组时,可以用cin.getline(m[i], n);
cin.getline()属于istream流,而getline()属于string流,是不一样的两个函数