在程序中一般用cout和插入運算符“<<”實現輸出,cout流在內存中有相應的緩沖區。有時用戶還有特殊的輸出要求,例如只輸出一個字符。ostream類除了提供上面介紹過的用於格式控制的成員函數外,還提供了專用於輸出單個字符的成員函數put。如:
cout.put('a');
調用該函數的結果是在屏幕上顯示一個字符a。put函數的參數可以是字符或字符的ASCII代碼(也可以是一個整型表達式)。如
cout.put(65 + 32);
也顯示字符a,因為97是字符a的ASCII代碼。
可以在一個語句中連續調用put函數。如:
cout.put(71).put(79).put(79). put(68).put('\n');
在屏幕上顯示GOOD。
[例13.4] 有一個字符串"BASIC",要求把它們按相反的順序輸出。
#include <iostream>
using namespace std;
int main( )
{
char *a="BASIC";//字符指針指向'B'
for(int i=4;i>=0;i--)
cout.put(*(a+i)); //從最後一個字符開始輸出
cout.put('\n');
return 0;
}
運行時在屏幕上輸出:
CISAB
除了使用cout.put函數輸出一個字符外,還可以用putchar函數輸出一個字符。putchar函數是C語言中使用的,在stdio.h頭文件中定義。C++保留了這個函數,在iostream頭文件中定義。
[例13.4] 也可以改用putchar函數實現。
#include <iostream> //也可以用#include <stdio.h>,同時不要下一行
using namespace std;
int main( )
{
char *a="BASIC";
for(int i=4;i>=0;i--)
putchar(*(a+i));
putchar('\n');
}
運行結果與前相同。
成員函數put不僅可以用cout流對象來調用,而且也可以用ostream類的其他流對象調用。