C++cin&cout細節
- 2019 年 10 月 6 日
- 筆記
一、念念不忘之Hello World.
作為一個程式設計師,我們第一個程式總會是它。對不對。那麼在C++中我們是不是也常常會看到這麼一段。

然後我們將這段程式碼使用helloword.cpp 文件保存起來。並且放入到G盤的code目錄中。注意在這裡我們可以使用如下命令查看當前文件夾的文件資訊.

我的目錄結構如下圖所示:

最後我們程式碼的編譯執行結果如下:

上述案例我們最簡單的使用了一下cout 對象進行輸出。那麼cout具體是做什麼的呢。cout其實是c++中的一個標準的輸出流。那麼在C++中我們如何像C語言中那樣使用printf實現各種格式化輸出呢。
1.數字的進位輸出 :
1) 在C++中要實現進位輸出。我們需要調用cout對象的std::cout.unsetf() 函數解綁十進位輸出。再調用cout.setf()函數綁定其他進位輸出 。創建一個hexinc++.cpp程式碼文件。加入如下程式碼:

然後編譯執行程式碼,我們得到如下結果:

2) 除了使用這種方式。我們還可以使用c++給我們提供的 iomanip 頭文件進行進位的格式化輸出。 現在我們創建程式碼文件hexioman.cpp 文件。加入如下程式碼:

然後編譯、執行。最終得到如下結果:

可見得到的結果是一致的。而且使用起來更加簡介方便。
2.通常再輸出的時候,除了對整數的進位處理。我們還需要對一些小數的輸出做大小的限制。
1.再這裡我們首先還是使用 setf / usetf 來實現。 我們創建文件decimal.cpp.加入如下內容:

然後編譯執行。我們得到如下結果:

2) 當然有些時候我們需要結連續輸出,那麼這種情況下我們應該怎麼辦呢。我們先來看看如下程式碼:

編譯執行之後得到如下結果:

由此可以看到,我們導入 iomanip,然後使用setiosflags 、resetiosflags、setprecision這些函數來實現。
二、在前邊的篇幅中,我們主要關注了C++中的輸出對象cout. 那麼現在我們回過頭來,如果我們需要輸入數據到程式中又該如何呢。現在我們來關注一下cin這個對象。
首先我們要知道的是cin是C++中的標準輸入流。好了,我們來看看最基本的用法。創建一個cinsimple.cpp。然後加入如下程式碼:

然後我們編譯執行。最終得到如下結果:

這是最基本的cin的用法。那麼注意這裡和scanf 函數的區別。在這裡我們接收輸入時不需要加入引用符號&。 那麼cin這個對象還有沒有其他的用法呢。看官請繼續,我們創建一個cinstr.cpp 的程式碼文件。加入如下程式碼,接收輸入的字元串:

然後我們編譯執行程式如下:

我們發現輸入的字元串中,空格後邊的內容被去掉了。因為cin對象接收輸入的時候會以空格為中斷。
好了,在本篇筆記中。我們介紹了C++中的輸出對象與輸入對象。輸出對象最主要關注的是數字的進位輸出、浮點數的格式化輸出。輸入對象需要注意兩點。第一點是輸入的時候不要使用引用符&。第二點是cin的輸入會以空格為中斷。
老九學堂出品