一、輸入輸出相關的類
對以上資料流相關類的解讀:
istream用於輸入的流類,cin是這類的物件
ostream用於輸出的流類,cout是這類的物件
ifstream 用於檔案讀取資料的流類
ofstream用於檔案寫入資料的流類
iostream是既能用於輸入,用於輸出的類
fstream是既能從檔案讀取資料,也能用於檔案寫入資料。
1、cin,cout對應標準輸入輸出流
2、判斷輸入流結束:
(1)、如果從檔案輸入
freopen(「some.txt」,「r」,stdin);
那麼,讀到檔案尾部,輸入流就算結束
(2)、如果是從鍵盤輸入,則在單獨一行輸入ctrl+z代表輸入流結束
3、接下來介紹istream類的成員函式(個人觀點,不要背,記得有這麼回事,需要的時候文件)
(1)、讀取輸入流
istream & getline(char * buf,int bufsize)
在輸入流中讀取bufsize-1個字元到緩衝區buf,或讀到"\n"為止
istream & getline(char * buf,int bufsize, char delim = 「\n」)
在輸入流中讀取bufsize-1個字元到緩衝區buf,或讀到delim字元為止。
兩個函式都會自動在buf中讀入資料結尾新增"\0"。"\n"或delim不會讀入buf,但會從輸入流中取走。
可以用if(!cin.getline(…))來判斷輸入是否結束
bool eof()判斷輸入流是否結束
int peek()返回下乙個字元,但不從流中去掉
istream & putback(char c)將字元c放回輸入流
istream & ignore(int ncount = 1, int delim = eof)從流中刪除掉最多ncount個字元,遇到eof時結束
二、檔案輸入輸出操作
1、可以將順序檔案看做乙個優先字元構成的順序字元流,然後像對cin,cout一樣的讀寫
2、建立檔案
ofstream outfile
("test.txt"
,ios::out|ios::binary)
ofstream fout
("test.txt"
;long location = fout.
tellp()
;// 取得寫指標的位置
location =10;
fout.
seekp
(location)
;// 將寫指標移動到第十個位元組
fout.
seekp
(location, ios::beg)
// 從第十個指標頭數location個位元組
fout.
seekp
(location, ios::cur)
// 從當前位置數location個位元組
fout.
seekp
(location, ios::beg)
// 從尾部數location個位元組 location可為負值
檔案就是讀寫操作
4、二進位制檔案讀寫
read,write函式
二進位制檔案和文字檔案的區別
linux下換行符是"\n"
window下換行符是"\r\n"
macos下換行符是"\r"
liunx下開啟檔案,用不用ios::binary沒區別
windows下開啟檔案,如果不用ios::binary則:讀取二進位制檔案時,所有"\r\n"會被當做"\n"處理
寫入二進位制檔案時,寫入單獨的"\n",系統會自動在前加乙個"\r"
Python 學習筆記(六)(輸入輸出及檔案)
輸入 input input是請使用者輸入,括號中是要輸出的提示內容 輸出 輸出有兩種方式 str format str name input 請輸入你的姓名 print hello str name format coding utf 8 str1 python str2 love print h...
c學習筆記 檔案輸入 輸出 20210315
第一步 呼叫fopen 開啟檔案,fopen 在開啟檔案的同時建立了乙個緩衝區 讀寫模式下兩個 以及乙個包含檔案和緩衝區的結構,同時返回乙個指向該結構的指標,若把指標賦給乙個指標變數fp,文字模式下開啟,獲得乙個文字流 二進位制模式則為二進位製流。fopen 建立的結構通常包含乙個指定流中當前位置的...
C輸入輸出與檔案
int getchar int putchar int int printf 格式控制,輸出表列 1 d ld 整型或長整型 2 c 字元型,引數可以為對應ascii碼或單引號內的字元 3 f lf 浮點數,double型常用 lf。預設6位小數,自動進行四捨五入 4 s 字串型,不輸入輸出 0 5...