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; }