ostream类提供了put()方法和write()方法,前者用于显示字符,后者用于显示字符串。
put()原型:ostream& put(char),当前标准与此相同,但被模板化以适应wchar_t,返回一个指向调用对象的引用,所以可拼接输出
#include<iostream>
#include<cstring>
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<charT,traits>&write(const char_type* s, streamsize n);
第一个参数提供要显示的字符串的地址,第二参数指出要显示几个字符,使用cout调用时将调用char具体化,因此返回类型为ostream&
#include<iostream>
#include<cstring>
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;
}