學習C++的過程中,通常是由終端機,也就是文字模式下開始,為了與程式互動,在終端機下輸出程式執行結果,或是從終端機取得使用者的輸入資料是基本需 求,在C++中輸入輸出是由標準library中的iostream library提供,這也就是為何您要在程式的一開頭終是加上:
#include <iostream>
將訊息輸出至終端機,稱之為「標準輸出」(Stand output),C++藉由iostream物件cout(發音see-out)將訊息輸出至終端機,< <運算子將一個指定的訊息或數值指引至標準輸出物件上,例如顯示”Hello! World!”訊息時,您可以這麼撰寫:
cout << “Hello! World!”;
標準輸出可以被重新導向至一個檔案,您可以在執行程式時使用” >>”將輸出結果導向至指定的檔案,例如(假設編譯後的可執行檔為main):
main >> result.txt
如果程式的目的是顯示”Hello! World!”,則上面的執行會將結果導向至result.txt,而不會在螢幕上顯示”Hello! World!”,result.txt中將會有輸出結果Hello! World!。
您也可以使用iostream物件cerr(發音see-err),稱之為「標準錯誤」(Standard error),它會將訊息輸出至終端機上,與標準輸出不同的是,cerr會 立即顯示指定的(錯誤)訊息給使用者知道,即使您指定程式將結果重新導向至檔案,cerr輸出串流的訊息並不會被重新導向,而仍會顯示在指定的顯示裝置 上,下面這個例子給您一個簡單的測試方式 :
#include <iostream> using namespace std; int main() { cout << "Hello! World!" << endl; cerr << "Sorry! World!" << endl; return 0;}
C++ 終端機 結果
在編譯程式之後,請如下執行程式,您會發現輸出結果如下:
main >> result.txt
Sorry! World!
開啟result.txt之後,您會發現當中只有Hello! World!訊息,而Sorry! World!訊息並沒有被導向至檔案中,而是直接顯示在終端機中。
要 重新導向 standard output 是用 ‘>’, standard input 則是 “<“,而”>>” 除了重導 standard output 後,還有附加的功能,也就是會把輸出附加到被導向的目標檔案後頭,如果目標檔案本來不存在,那麼效果就和”>”一樣。
如果打算取得使用者的輸入,則可以使用「標準輸入」(Standard input)的iostream物件cin(發音see-in),並使用>>運算子將輸入的訊息指定給變數,例如:
#include <iostream> using namespace std; int main() { int number = int(); cout << "請輸入數字: "; cin >> number; cout << "輸入的數字: " << number << endl; return 0;}
執行結果:
請輸入數字: 10
輸入的數字: 10
Leave a Reply