put()方法和write()方法

ostream类提供了put()方法和write()方法,前者用于显示字符,后者用于显示字符串。


put()原型:ostream& put(char),当前标准与此相同,但被模板化以适应wchar_t,返回一个指向调用对象的引用,所以可拼接输出

#include
#include

using namespace std;

int main()
{
	cout.put(65);		//将65转化为一个char值,然后显示ASCII码为65的字符
	cout.put('W');
	cout.put(65) << endl;
	cout.put(65).put('a') << endl;
	cout.put(66.3) << endl;		//将66.3转化为char值66,在显示相应的字符

        return 0;
}
 
  


write()模版原型:

basic_ostream&write(const char_type* s, streamsize n); 

第一个参数提供要显示的字符串的地址,第二参数指出要显示几个字符,使用cout调用时将调用char具体化,因此返回类型为ostream&

#include
#include

using namespace std;

int main()
{
	const char* state1 = "Florida";
	const char* state2 = "Kansas";
	const char* state3 = "Euphoria";
	int len = strlen(state2);
	cout << "Increasing loop index" << endl;
	for (int i = 1; i <= len; i++)
	{
		cout.write(state2, i);
		cout << endl;
	}

	cout << "Decreasing loop index" << endl;
	for (int i = len; i > 0; i--)
		cout.write(state2, i) << endl;	//返回值为ostream&,同样可以拼接

	cout << "Exceeding string length:\n";
	cout.write(state2, len + 5) << endl;	//超出state2的长度也不会停下

	system("pause");
	return 0;
}


你可能感兴趣的:(C++Primer,Plus(第6版))