学科分类
目录
C++基础

标准输出流

ostream预定义了三个输出流对象cout、cerr和clog,而且还重载了插入运算符“<<”,使用它可以输出各种类型的数据,这是标准输出流的基本用法;此外,ostream还提供了put()、write()等成员函数用来输出数据,本节就来学习一下这些成员函数。

1、put()函数

在ostream类中定义了可以输出单个字符的成员函数put(),其函数声明如下所示:

ostream& put(char ch);
或
ostream& put(const char ch);

put()函数可以将一个字符型变量的值或一个字符常量输出到屏幕上,其返回值为ostream类对象引用。为加深读者的理解,接下来通过一个案例来演示其用法,如例1所示。

例1

 1    #include <iostream>
 2    using namespace std;
 3    int main()
 4    {
 5        char ch = 'a';
 6        cout.put(ch) << endl;
 7        cout.put('a').put('b').put('c') << endl;
 8        system("pause");
 9        return 0;
 10    }

运行结果如图1所示。

图1 例1运行结果

在例1中,put()函数既输出了字符变量ch又输出了字符常量’a’、’b’、’c’,而且put()函数可以被cout对象连续调用。

2、write()函数

write()函数可以将一个字符串的部分或全部字符送到输出流,其函数声明如下所示:

ostream& write(const char* str, int n);

该函数第一个参数是要输出的字符串的地址,第二个参数是要输出的字符个数。若要输出字符串的全部字符,则第二个参数的值可以通过函数strlen()求出。函数返回值为ostream类对象的引用。

关于write()函数的用法,我们可以通过一个案例来演示,如例2所示。

例2

 1    #include <iostream>
 2    using namespace std;
 3    int main()
 4    {
 5        char* p = "chuan zhi bo ke";
 6        cout.write(p, 8).put('\n');
 7        cout.write(p, strlen(p)) << endl;
 8        system("pause");
 9        return 0;
 10    }

运行结果如图2所示。

图2 例2运行结果

由图2所知,第一次调用write()函数时,输出了前8个字符,第二次调用时,由strlen()函数求算出字符串长度作为第二个参数,输出了全部字符。通过这两个案例,读者可发现对ostream类的成员函数,都可以连续调用。

点击此处
隐藏目录