C++中常用的输入有cin和scanf,但是它们的是以空白字符(空格符,回车符,制表符)作为分割字符的,如果涉及到整行的输入模式就不能在考虑cin和scanf了。
1. cin.get()
从指定的输入流中提取一个字符,函数返回值是该字符。读取失败会返回EOF
int main()
{
char c;
while(c=cin.get()!=EOF) //或者while(cin.get(c))
cout.put(c);
return 0;
}
2. cin.getline(字符数组或指针,字符个数n,终止字符)
读取n-1个字符,在读取完之前若遇到终止字符则停止读取。如果在终止字符前输入流中字符数超过n-1个,那么只会读取前n-1个字符,如果是在while循环中超出字符个数则会停止输入跳出循环。
int main()
{
char c[50];
while(cin.getline(c,51,'\n')) //不断读取一整行
cout<<c<<endl;
return 0;
}
3. getline()
getline是string类的函数,可以用来接收一串包含空格的字符串
int main()
{
string s;
getline(cin,s);
cout<<s<<endl;
return 0;
}