在此必须声明string中的getline()和iostream中的cin.getline()是完全不一样的东西
getline()
// extract to string
#include <iostream>
#include <string>
int main ()
{
std::string name;
std::cout << "Please, enter your full name: ";
std::getline (std::cin,name); // 这里是把键盘输入的字符赋值给name
std::cout << "Hello, " << name << "!\n";
return 0;
}
#include<iostream>
#include<string>
using namespace std;
int main ()
{
string str;
getline(cin,str); // 前面的cin是固定的, 后面的str是变量名,必须是string类型的
cout<<str<<endl;
}
#include <iostream>
#include <string>
using namespace std;
const int SIZE = 5;
void display(const string sa[], int n);
int main()
{
string list[SIZE];
cout << "Enter your " << SIZE << "favorite astronomical sights:\n";
for (int i = 0; i < SIZE; i++)
{
cout << i + 1 << ": ";
// getline(cin, list[i]); // 这句话实现的效果和下面的三句话实现的效果是一样的哦
// getline(cin, par2) 是把cin从键盘获取的字符赋值给par2
// cin.getline()属于istream流,而getline()属于string流,是不一样的两个函数
string str;
cin >> str;
list[i] = str;
}
cout << "Your list:\n";
display(list, SIZE);
return 0;
}
void display(const string sa[], int n)
{
for (int i = 0; i < n; i++)
{
cout << i + 1 << ":" << sa[i] << endl;
}
}
cin.getline() 两个参数和一个参数
#include<iostream>
using namespace std;
int main()
{
char a[10];char b;
cin.getline(a,10); // 把字符输入到a中,长度不超过10
cin.get(b); // 它的ASCALL码存入到b中
cout << "a = " << a << endl;
cout << "int(b) = " << int(b) << endl;
}