用C++流成員函數put輸出單個字符
在程序中一般用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。
[例] 有一個字符串"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頭文件中定義。
[例] 也可以改用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類的其他流對象調用。
C++ cin輸入流詳解
標準輸入流是從標準輸入設備(鍵盤)流向程序的數據。在頭文件iostream.h中定義了cin、cout、cerr、clog 4個流對象(詳情請查看:與C++輸入輸出有關的類和對象),cin是輸入流,cout、cerr、clog是輸出流。
cin是istream類的對象,它從標準輸入設備(鍵盤)獲取數據,程序中的變量通過流提取符“>>”從流中提取數據。流提取符“>>”從流中提取數據時通常跳過輸入流中的空格、tab鍵、換行符等空白字符。
注意:只有在輸入完數據再按回車鍵后,該行數據才被送入鍵盤緩沖區,形成輸入流,提取運算符“>>”才能從中提取數據。需要注意保證從流中讀取數據能正常進行。
例如:
int a,b; cin>>a>>b;
若從鍵盤上輸入