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

2021-08-26 21:44:11 字數 1802 閱讀 7264

一,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<<(int);

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

#include using namespace std;

int main()

} catch(ios_base::failure &bf)//抓設定的錯誤 }

else

cout<<"i can't go on!"<

則跳過非法輸入,使得輸入正常進行。

#include #include using namespace std;

int main()

if(cin.fail()&&!cin.eof())

} else

cout<<"i can't go on!"<>input)

cout<<"last value entered = "<6)

單字元的輸入

char c=cin.get(); //返回 int

cin.get(c); //返回 cin

不會跳過空格、換行符等

7)字串輸入

getline(); //抽取並丟棄輸入流中的換行符

get(); //換行符留在輸入流

get(char *,int ,char); // 要讀入的字串,個數,結束符

get(char *,int) //換行符預設為結束符

getline(char *, int ,char)

getline(char *,int)

例如:char line[50]; cin.get(line,50);

cin.ignore(int ,char ) //讀取並丟棄接下來的255個字元,或者到結束符為止

8)其他istream方法

1>char gross[20];

read(gross,20); //不會在讀取字元後面加上 『\0』 因此不能講輸入轉化為字串

2>peak();//下乙個要讀取的字元

while((ch=cin.peak())!='.'&&ch!='\n')

cin.get(great_input[i++]);

3>cin.putback(ch) //將字元ch插入到輸入流

#include #include using namespace std;

int main()

#include #include using namespace std;

const char *filename = "test.bat";

int main()

{ if(!fout.is_open())

{ cerr<<"con't open"<>ch; //讀取第乙個字元

cout<

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

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

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

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

第十七章 Size Classes

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