cin cin.getline getline cin.get()

http://yantingting1219.blog.sohu.com/71850367.html

cin

读取并忽略 非空白字符 之前所有的空白字符,然后读取字符直至再次遇到空白字符,读取终止。

 
/*sting对象接收流中字符*/

#include <iostream>
#include <string>

using namespace std;

int main()
{
	string str;

	cin >> str;
	cout << str;

	return 0;
}


 
输入:

  hello world

输出:

hello

 

 

 

 

/*字符数组接收流中字符*/

#include <iostream>
#include <string>

using namespace std;

int main()
{
	char str_array[20];
	cin >> str_array;
	cout << str_array;

	return 0;
}

输入输出同上。

 

 

cin.getline()

 

/*sting对象接收流中字符,出错!!不是同一流!*/

#include <iostream>
#include <string>

using namespace std;

int main()
{
	string str;

	cin.getline(str, 5);
	cout << str;

	return 0;
}

出错!!

 

 

 

/*
字符数组接收流中字符,cin.getline(str_array, n);
实际最多可接收n-1个字符,第n个字符置'\0'
*/

#include <iostream>
#include <string>

using namespace std;

int main()
{
	char str_array[10];
	cin.getline(str_array, 10);
	cout << str_array;

	return 0;
}



输入:

1234567890
输出:

123456789

 

 

/*
字符数组接收流中字符,cin.getline(str_array, 10);
实际最多可接收9个字符,第10个字符置'\0'
*/

#include <iostream>
#include <string>

using namespace std;

int main()
{
	char str_array[10];
	cin.getline(str_array, 5);
	cout << str_array;

	return 0;
}

输入:

123456

输出:
1234

 

getline()不忽略空格,默认换行作为结束

/*字符数组接收流中字符,出错!!流不同!*/

#include <iostream>
#include <string>

using namespace std;

int main()
{
	char str_array[10];
	getline(cin, str_array);
	cout << str_array;

	return 0;
}

 

 

 

/*string对象接收流中字符*/

#include <iostream>
#include <string>

using namespace std;

int main()
{
	string str;
	getline(cin, str);
	cout << str;

	return 0;
}

输入:

  123456

输出:
  123456


 

posted @ 2012-12-13 21:40  helloweworld  阅读(395)  评论(0编辑  收藏  举报