C primer 第十七章 輸入 輸出和檔案

2021-08-26 21:44:11 字數 1651 閱讀 5707

一,c++輸入和輸出的概述

1)流和緩衝區

流是程式和源流或流目標之間的橋梁

磁碟驅動器以512位元組(或更多)的塊為單位傳輸資訊,程式通常每次只能處理乙個位元組資訊。所以緩衝區用來匹配這兩種不同的資訊傳輸速率。

輸出時,先填滿緩衝區,然後把整塊資料傳輸給硬碟,並清空緩衝區,以備下一批輸出使用。

2)isotream類管理細節

cin 物件對應於標準輸入流,關聯到標準輸入裝置。wcin 對應 wchar_t

cout 標準輸出流,wcout 對應 wchar_t

cerr 標準錯誤流,沒有緩衝直接傳送給螢幕,而不會等到緩衝區填滿或新的換行符,wcerr對應 wchar_t

clog 標準錯誤流,有緩衝區,wclog對應 wchar_t

二,使用cout進行輸出

1)過載<< 操作符 : ostream & operator<

c++指向字串儲存位置的指標來表示字串

#include using namespace std;

int main()

{ char *pn="tianshuai";

char name[10]="tianshuai";

cout<

2)拼接輸出: cout<

3)其他ostream方法:

cout.put('w'); //每次輸出乙個字元型別 字元

cout.put(65); //輸出 a

char *pn = "tianshuai";

cout.write(pn,4); //輸出 tian

4)重新整理輸出緩衝區

換行符 "\n" endl flush 重新整理輸出緩衝區。

5)用cout進行格式化

修改顯示時使用的技術系統:

cout<

cout<

cout<

調整字段寬度:

cout.width(12); //只影響接下來顯示的第乙個專案,然後恢復預設。且放到12字元最右端(右對齊)

cout<

注意:c++永遠不會截斷資料,假如在寬度為2的字段中列印乙個7位值,c++將擴充字段

填充字元:

cout.fill("*"); //填充空白字元為 * 。影響整個程式輸出

設定精度:

注意:c++預設精度為6位(末尾的0將不顯示)

cout.precision(2); //精度設定為2 例如:2.153 輸出為2.1

列印末尾的0和小數點:

cout.setf(ios_base::showpoint); //顯示末尾0和小數點 ,不要忘記精度預設為6 例如:2.00 顯示為2.00000

setf詳解

注意:只有當基數為10時才使用加號。c++將十六進製制和八進位制都視為無符號的

cout.setf(ios_base::internal,ios_base::adjustfield); //符號或基數左對齊,值右對齊

cout.setf(ios_base::right,ios_base::adjustfield); //右對齊

iomanip標頭檔案

cou<

C primer 第十七章 輸入 輸出和檔案

一,c 輸入和輸出的概述 1 流和緩衝區 流是程式和源流或流目標之間的橋梁 磁碟驅動器以512位元組 或更多 的塊為單位傳輸資訊,程式通常每次只能處理乙個位元組資訊。所以緩衝區用來匹配這兩種不同的資訊傳輸速率。輸出時,先填滿緩衝區,然後把整塊資料傳輸給硬碟,並清空緩衝區,以備下一批輸出使用。2 is...

C primer 第十七章 輸入 輸出和檔案

一,c 輸入和輸出的概述 1 流和緩衝區 流是程式和源流或流目標之間的橋梁 磁碟驅動器以512位元組 或更多 的塊為單位傳輸資訊,程式通常每次只能處理乙個位元組資訊。所以緩衝區用來匹配這兩種不同的資訊傳輸速率。輸出時,先填滿緩衝區,然後把整塊資料傳輸給硬碟,並清空緩衝區,以備下一批輸出使用。2 is...

第十七章 Size Classes

通常,您希望應用程式的介面根據螢幕的尺寸和方向而顯示不同的布局。在本章中,您將修改homepwner中的detailviewcontroller的介面,以便當它出現在具有相對較小高度的螢幕上時,文字字段集合和影象檢視併排而不是堆疊在一起 圖17.1 圖17.1 homepwner 的 detailv...