国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > C++ > 正文

c++ fstream, ifstream, ostream

2019-11-06 06:07:52
字體:
來源:轉載
供稿:網友

namespace: std ifstream – 從已有的文件讀 ofstream – 向文件寫內容 fstream - 打開文件供讀寫

成員函數open()實現打開文件的操作,從而將數據流和文件進行關聯,通過ofstream,ifstream,fstream對象進行對文件的讀寫操作

void open ( const char * filename, ios_base::openmode mode = ios_base::in | ios_base::out ); void open(const wchar_t *_Filename, ios_base::openmode mode= ios_base::in | ios_base::out, int PRot = ios_base::_Openprot);

參數: filename 操作文件名 mode 打開文件的方式 prot 打開文件的屬性 打開文件的方式在iOS類(所以流式I/O的基類)中定義,有如下幾種方式: 這里寫圖片描述 打開文件的屬性同樣在ios類中也有定義: 這里寫圖片描述 很多程序中,可能會碰到ofstream out(“Hello.txt”), ifstream in(“…”),fstream foi(“…”)這樣的的使用,并沒有顯式的去調用open()函數就進行文件的操作,直接調用了其默認的打開方式,因為在stream類的構造函數中調用了open()函數,并擁有同樣的構造函數,所以在這里可以直接使用流對象進行文件的操作;

打開文件時一定要檢查文件是否已經打開 不操作文件一定關閉文件 getline(infile,s)將文件寫入string中

#include<iostream>#include<fstream>#include<string>using namespace std;int main(){ string filename = "1.txt"; fstream infile(filename, ios::in); if (!infile) { throw runtime_error("file cannot open"); return -1; } else { string s; while (!infile.eof()) { getline(infile, s); cout << s << endl; } } infile.close(); return 0;}#include<iostream>#include<fstream>#include<string>using namespace std;int main(){ string filename = "1.txt"; ofstream outfile; outfile.open(filename, ios::out | ios::app); if (!outfile) { throw runtime_error("file cannot open"); } else { outfile << "111" << "222" << endl; outfile.close(); }}

狀態標志符的驗證(Verification of state flags) 除了eof()以外,還有一些驗證流的狀態的成員函數(所有都返回bool型返回值): bad() 如果在讀寫過程中出錯,返回 true 。例如:當我們要對一個不是打開為寫狀態的文件進行寫入時,或者我們要寫入的設備沒有剩余空間的時候。 fail() 除了與bad() 同樣的情況下會返回 true 以外,加上格式錯誤時也返回true ,例如當想要讀入一個整數,而獲得了一個字母的時候。 eof() 如果讀文件到達文件末尾,返回true。 good() 這是最通用的:如果調用以上任何一個函數返回true 的話,此函數返回 false 。 要想重置以上成員函數所檢查的狀態標志,你可以使用成員函數clear(),沒有參數。

我們可以通過使用以下成員函數來讀出或配置這些指向流中讀寫位置的流指針: tellg() 和 tellp() 這兩個成員函數不用傳入參數,返回pos_type 類型的值(根據ANSI-C++ 標準) ,就是一個整數,代表當前get 流指針的位置 (用tellg) 或 put 流指針的位置(用tellp). seekg() 和seekp() 這對函數分別用來改變流指針get 和put的位置。兩個函數都被重載為兩種不同的原型: seekg ( pos_type position ); seekp ( pos_type position ); 使用這個原型,流指針被改變為指向從文件開始計算的一個絕對位置。要求傳入的參數類型與函數 tellg 和tellp 的返回值類型相同。 seekg ( off_type offset, seekdir direction ); seekp ( off_type offset, seekdir direction ); 使用這個原型可以指定由參數direction決定的一個具體的指針開始計算的一個位移(offset)。它可以是: 這里寫圖片描述

使用這個原型可以指定由參數direction決定的一個具體的指針開始計算的一個位移(offset)。它可以是: 這里寫圖片描述 流指針 get 和 put 的值對文本文件(text file)和二進制文件(binary file)的計算方法都是不同的,因為文本模式的文件中某些特殊字符可能被修改。由于這個原因,建議對以文本文件模式打開的文件總是使用seekg 和 seekp的第一種原型,而且不要對tellg 或 tellp 的返回值進行修改。對二進制文件,你可以任意使用這些函數,應該不會有任何意外的行為產生。

int main () { long l,m; ifstream in(filename, ios::in|ios::binary); l = in.tellg(); in.seekg (0, ios::end); m = in.tellg(); in.close(); cout << "size of " << filename; cout << " is " << (m-l) << " bytes./n"; return 0; }

4.二進制文件 在二進制文件中,使用<< 和>>,以及函數(如getline)來操作符輸入和輸出數據,沒有什么實際意義,雖然它們是符合語法的。 文件流包括兩個為順序讀寫數據特殊設計的成員函數:write 和 read。第一個函數 (write) 是ostream 的一個成員函數,都是被ofstream所繼承。而read 是istream 的一個成員函數,被ifstream 所繼承。類 fstream 的對象同時擁有這兩個函數。它們的原型是: write ( char * buffer, streamsize size ); read ( char * buffer, streamsize size ); 這里 buffer 是一塊內存的地址,用來存儲或讀出數據。參數size 是一個整數值,表示要從緩存(buffer)中讀出或寫入的字符數。

#include<iostream>#include<fstream>using namespace std;int main(){ char *filename = "1.txt"; char *buffer; long size,m; ifstream infile(filename,ios::in | ios::binary | ios::ate); size = infile.tellg(); buffer = new char[size]; infile.seekg(0, ios::beg); infile.read(buffer, size); infile.close(); cout << buffer << endl; cout << "The complete file is in a buffer" << endl; delete[] buffer; return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
永久av在线| 日本成人a视频| 中文字幕2019第三页| 日本动漫同人动漫在线观看| 天堂中文资源在线| 免费精品国产自产拍观看| 国产中文在线观看| 亚洲综合在线不卡| 99re热在线观看| 中文岛国精品亚洲一区| 中文字幕国产视频| 日本免费视频www| 精品美女视频在线观看免费软件| 青青草原国产在线| 香蕉视频在线看| 夜夜操天天干| а√资源新版在线天堂| 欧美96在线| 日本不卡视频一区二区| 亚洲电影先锋| jlzzjlzz欧美大全| 欧美精品se| 丁香婷婷激情| 二人午夜免费观看在线视频| 欧美日韩性视频一区二区三区| 国产精品入口麻豆免费观看| 天天操天天是| 中文字幕在线第一页| www.狠狠操.com| 国产麻豆精品入口在线观看| 最近免费中文字幕在线第一页| 国产男女av| 国产一二三区在线视频| 国产成人天天5g影院| 精品国产免费第一区二区| 羞羞视频在线免费看| 精品孕妇一区二区三区| 黄色毛片在线| 国产精品第八页| 亚洲an天堂an在线观看| 日本免费视频www| 激情六月婷婷| 国产福利视频在线观看| 国产精品入口麻豆完整版| 91在线最新| 久艹在线视频| 99久久99热久久精品免费看| 老鸭窝av在线| 亚洲大香人伊一本线| 五月婷婷视频在线观看| 天天激情综合| 国产精品伦一区二区三区视频| 在线免费看黄网站| 国产精品白浆视频免费观看| japanese色国产在线看视频| 国产原创av在线| 91涩漫在线观看c| 日本中文字幕在线播放| 人人在线视频| 99re6在线视频精品免费| 国产中文第一页| 精品麻豆视频| 91午夜在线| 国产超级va在线视频| 国产美女极品在线| av在线第一页| heisi视频网在线观看| 天天噜天天色| 亚洲激情丁香| 在线观看精品视频一区二区三区| 国产三级香港三韩国三级| 五月天亚洲激情| 国产丝袜视频在线播放| 国产精品福利视频一区二区三区| 久久久久久久美女| 欧美精品日韩少妇| 久热中文字幕在线观看| 在线观看wwww| 在线观看视频污| jizz一区二区三区| 成年人在线观看| 天天av综合网| 国产麻豆精品高清在线播放| 成人日韩欧美| 国产精美视频| 亚洲an天堂an在线观看| 国产中文在线观看| 国产激情视频在线| 亚洲永久免费网站| 四虎网站在线观看| 国产午夜在线视频| 亚洲精品xxxxx| 国产一级二级三级在线观看| 综合激情丁香| 国产区av在线| av在线播放av| 国产三级在线免费观看| 18激情网站| 超碰免费在线播放| 精品国产丝袜高跟鞋| 麻豆精品不卡国产免费看| 国产人成在线视频| 超碰在线97国产| 国产成人天天5g影院| 一个人看的www免费观看视频| www.xxx黄| 国产激情在线观看| 中中文字幕av在线| gogogogo高清视频在线| 国产秀色在线www免费观看| 精品福利影院| 国产一卡2卡3卡免费网站| 免费看ww视频网站入口| 国产精品入口免费麻豆| 久久综合精品视频| 亚洲视频日韩| 亚洲成人电视网| 国产无遮挡又黄又爽免费软件| 亚洲欧美日韩一区成人| 国产日韩欧美第一页| 就爱干草视频| a视频在线观看免费| 国产成人天天5g影院| 最新黄网在线观看| 国产在线观看a| 国产在线www| 天堂在线视频| 非洲黑人最猛性xxxx交| 久久国产情侣| 九色在线网站| 国产91大片| 中文字幕在线永久在线视频| 国产男女av| 国产网友自拍电影在线 | 97国产在线| 国产深夜福利| 91中文字幕网| 亚洲www色| 激情综合丁香| 最近中文字幕mv免费高清视频8| 天堂在线看视频| 国产精品jvid在线观看| 精品福利视频导航大全| heisi视频网在线观看| 久热国产在线视频| 国产一区二区三区美女秒播 | 一区免费观看| 精品孕妇一区二区三区| 中文字幕高清av| 亚洲第一成年免费网站| 国产主播色在线| 国产精品国产三级国产试看| av免费在线免费| 天天操天天操一操| 尤物视频在线观看视频| 国内a∨免费播放| 精品国产免费第一区二区| 天堂在线国产| 国产视频在线播放| 美女国产在线| 亚洲天堂久久久| 国产精品99爱免费视频| eeuss影院www在线观看| 国产色婷婷在线| 黄色av网站在线| 精品久久九九| 久久精品国产亚洲a∨麻豆| 国产日韩欧美第一页| a级片国产精品自在拍在线播放| 国产在线超碰| 欧美成人精品福利网站| 国产www在线观看| 国产精品自产拍在线观看2019| 中文岛国精品亚洲一区| 中文字幕欧美日韩在线不卡| 久久国产情侣| 日本不卡1区2区3区| 中文字幕2019第三页| 国产精品你懂的在线观看| 狠狠插狠狠操| 欧美日韩一区二区三区在线播放| 国产精品视频一区二区久久 | 尤物在线视频| 欧美日韩**字幕一区| 在线看黄网站| gogogogo高清视频在线| www.99色.com| 欧美日韩在线资源| 久久精品视频免费看| 青青青青在线| 久草一本av| 国产精品178页| 99在线视频观看| 天天草天天爽| 成人无遮挡免费网站视频在线观看| 亚洲第一页在线播放| 免费国产阿v视频在线观看| 久久久久久77777| 国产亚洲精品一区二区在线观看 | 高清欧美精品xxxxx在线看|