Stay Hungry(業精於勤,拒絕平庸)
一、開啟檔案
在fstream類中,有一個成員函式open(),就是用來開啟檔案的,其原型是: void open(const char* filename,int mode,int access); 引數: filename: 要開啟的檔名 mode: 要開啟檔案的方式 access: 開啟檔案的屬性 開啟檔案的方式在類ios(是所有流式I/O類的基類)中定義,常用的值如下: ios::app: 以追加的方式開啟檔案 ios::ate: 檔案開啟後定位到檔案尾,ios:app就包含有此屬性 ios::binary: 以二進位制方式開啟檔案,預設的方式是文字方式。兩種方式的區別見前文 ios::in: 檔案以輸入方式開啟 ios::out: 檔案以輸出方式開啟 ios::nocreate: 不建立檔案,所以檔案不存在時開啟失敗 ios::noreplace:不覆蓋檔案,所以儲存檔案時如果檔案存在失敗 ios::trunc: 如果檔案存在,把檔案長度設為0 可以用“或”把以上屬性連線起來,如ios::out|ios::binary // 注:現在C++標準庫不支援nocreate和noreplace,以前的舊版本可以用. 開啟檔案的屬性取值是: 0:普通檔案,開啟訪問 1:二、關閉檔案
開啟的檔案使用完成後一定要關閉,fstream提供了成員函式close()來完成此操作,如:file1.close();就把file1相連的檔案關閉。
三、讀寫檔案
讀寫檔案分為文字檔案和二進位制檔案的讀取,對於文字檔案的讀取比較簡單,用插入器和析取器就可以了;而對於二進位制的讀取就要複雜些,下要就詳細的介紹這兩種方式 1、文字檔案的讀寫 文字檔案的讀寫很簡單:用插入器(<<)向檔案輸出;用析取器(>>)從檔案輸入。假設file1是以輸入方式開啟,file2以輸出開啟。示例如下: file2<<"I Love You";//向檔案寫入字串"I Love You" int i; file1>>i;//從檔案輸入一個整數值。 這種方式還有一種簡單的格式化能力,比如可以指定輸出為16進位制等等,具體的格式有以下一些 操縱符 功能 輸入/輸出 dec 格式化為十進位制數值資料 輸入和輸出 endl 輸出一個換行符並重新整理此流 輸出 ends 輸出一個空字元 輸出 hex 格式化為十六進位制數值資料 輸入和輸出 oct 格式化為八進位制數值資料 輸入和輸出 //setpxecision(int p) 設定浮點數的精度位數 輸出 setprecision(int p) 設定浮點數的精度位數 輸出 (setpxecision應該為setprecision,使用時需要包含標頭檔案:#include <iomanip.h>) //比如要把123當作十六進位制輸出:file1<<hex<<123;要把四、檢測EOF
成員函式eof()用來檢測是否到達檔案尾,如果到達檔案尾返回非0值,否則返回0。原型是int eof(); 例: if(in.eof())ShowMessage("已經到達檔案尾!");五、檔案定位
和C的檔案操作方式不同的是,C++ I/O系統管理兩個與一個檔案相聯絡的指標。一個是讀指標,它說明輸入操作在檔案中的位置;另一個是寫指標,它下次寫操作的位置。每次執行輸入或輸出時,相應的指標自動變化。所以,C++的檔案定位分為讀位置和寫位置的定位,對應的成員函式是 seekg()和 seekp(),seekg()是設定讀位置,seekp是設定寫位置。它們最通用的形式如下: istream &seekg(streamoff offset,seek_dir origin); ostream &seekp(streamoff offset,seek_dir origin); streamoff定義於 iostream.h 中,定義有偏移量 offset 所能取得的最大值,seek_dir 表示移動的基準位置,是一個有以下值的列舉: ios::beg: 檔案開頭 ios::cur: 檔案當前位置 ios::end: 檔案結尾 這兩個函式一般用於二進位制檔案,因為文字檔案會因為系統對字元的解釋而可能與預想的值不同。 例: file1.seekg(1234,ios::cur);//把檔案的讀指標從當前位置向後移1234個位元組 file2.seekp(1234,ios::beg);//把檔案的寫指標從檔案開頭向後移1234個位元組 如果vc程式設計的話最好使用CFile類等更加方便於檔案操作</CA>相關推薦
Stay Hungry(業精於勤,拒絕平庸)
在C++中,有一個stream這個類,所有的I/O都以這個“流”類為基礎的,包括我們要認識的檔案I/O,stream這個類有兩個重要的運算子: 1、插入器(<<) 向流輸出資料。比如說系統有一個預設的標準輸出流(cout),一般情況下就是指的顯示器,所以,cout<<"Wr
騰訊雲服務器突然遠程連不上(包含ssh,拒絕訪問)
img bsp 截圖 wid inf alt 雲服務 暫時 info 版權聲明:本文轉載自 https://blog.csdn.net/Alexwu555/article/details/78448113, 暫時這樣 , 以後再來整理。不太習慣不能直接貼截圖啊
STL語法——映射:map 反片語(Ananagrams,UVa 156)
count lower code cin mos abc 最終 定義 lead Description Most crossword puzzle fans are used to anagrams--groups of words with the same let
用vue開發一個app(2,main.js)
.html 第一次用 courier ace 第一次 router -s 提示 新建 昨天跟著vue的官網搭建了vue的一個腳手架,我也是第一次用VUE一切都在摸索階段。 今天試著看下裏面腳手架裏面有點什麽東西 先看看main.js
ccs3新特性---(border,Background部分)
指定 其他 round 分隔 接收 source 縮小 20px 圓形 boder屬性新特性: border-radius 設置或檢索對象使用圓角邊框 border-top-left-radius 設置或檢索對象左上角圓角邊框 borde
Linux安裝yum的痛苦路程(失敗,慎入)
1-1 一個 h+ thread php read centos lin png 1,在網上下載了一個yum 的 rpm文件(yum-3.2.29-81.el6.centos.noarch.rpm),我在 http://www.rpmfind.net/linux/rpm
更新整理本人所有博文中提供的代碼與工具(C++,2014.01)
jbd mlu osg mef sgd dac gpa irf rtc 說酉讕vuu2c短殉炕<a target="_blank" href="http://weibo.com/u/6212262647">http://weibo.com/u/621226264
單例模式(懶漢,餓漢)
ati turn 還需 sin 有用 只需要 對象 clas main Java中的單例模式一般分為懶漢模式和餓漢模式,懶漢模式只有用得到的時候對象才初始化,餓漢模式無論用得到與否,都先初始化。 懶漢模式在運行的時候獲取對象比較慢(因為類加載時並沒有創建對象實例),但是加載
POJ 1161 Walls(Floyd , 建圖)
== clas mem have 聚會 城市 define clu include 題意: 給定n個城市, 然後城市之間會有長城相連, 長城之間會圍成M個區域, 有L個vip(每個vip會處於一個城市裏)要找一個區域聚會, 問一共最少跨越多少個長城。 分析: 其實這題難就
面向對象(繼承,多態)
牢固 二維數組的定義格式:第一種:直接給定了每一個一維數組中數組長度數據類型[][] 數組名稱 = new 數據類型[m][n]第二種:給定了多少個一維數組,長度動態給定數據類型[][] 數組名稱 = new 數據類型[m][] ;第三種:二維數組中直接給定元素值數據類型[][] 數組名稱 = {{元素1,元
2016女生賽 HDU 5710 Digit-Sum(數學,思維題)
accep ger sizeof memory fin left total src view Digit-Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Oth
小白學習server第二篇------策略(本地,本地組)
server一、 本地安全策略概述本地安全策略影響本地計算機的安全設置控制面板→管理工具”→本地安全策略運行secpol.msc命令本地安全策略主要包含:帳戶策略本地策略 二、 帳戶策略1、密碼策略1)密碼必須符合復雜性需求:、英文字母大小寫、數字、特殊符號四者取其三。2)密碼長度最小值:設置範圍0-14
【BZOJ1023】仙人掌圖(仙人掌,動態規劃)
轉移 tps 同時 HR code main 最大值 mes vector 【BZOJ1023】仙人掌圖(仙人掌,動態規劃) 題面 BZOJ 求仙人掌的直徑(兩點之間最短路徑最大值) 題解 一開始看錯題了,以為是求仙人掌中的最長路徑。。。 後來發現看錯題了一下就改過來了。。
使用原生JS發送AJAX請求(XML,JSON解析)
status quest chan ldoc text nbsp 字符 tco send mybutton.addEventListener(‘click‘, (e) => { let request = new XMLHttpRequest() r
FFmpeg源代碼簡單分析:常見結構體的初始化和銷毀(AVFormatContext,AVFrame等)
new init _array border 代碼 alloc ecc .com VC 結構體 初始化 銷毀 AVFormatContext avformat_alloc_context() avfo
【BZOJ4755】扭動的回文串(Manacher,哈希)
ring problem def www. 二分 cpp div char class 【BZOJ4755】扭動的回文串(Manacher,哈希) 題面 BZOJ 題解 不要真的以為看見了回文串就是\(PAM,Manacher\)一類就可以過。 這題顯然不行啊。 我們主要考
Atlantis HDU - 1542 (掃描線,線段樹)
stack 是我 opera 分享 print 之前 roo size oot 掃描線的模板題,先把信息接收,然後排序,記錄下上邊和下邊,然後用一條虛擬的線從下往上掃。如果我掃到的是下邊,那麽久用線段樹在這個區間內加上1,表示這個區間現在是有的,等我掃描到上邊的時候在加上-
【BZOJ1093】[ZJOI2007]最大半聯通子圖(Tarjan,動態規劃)
() queue 有一個 ble class empty cpp 之間 names 【BZOJ1093】[ZJOI2007]最大半聯通子圖(Tarjan,動態規劃) 題面 BZOJ 洛谷 洛谷的討論裏面有一個好看得多的題面 題解 顯然強連通分量對於題目是沒有任何影響的,直接
python語言程序設計(1,2周)
提示 imp 函數 語句 form eva convert rgb色彩 eth 實例1: 溫度轉換???????????????????????????????????????????????????????????????????????????????? 描述 這是"實
Linux串列埠程式設計教程(三)——串列埠程式設計詳(原始碼)解:http://blog.csdn.net/u011192270/article/details/48174353 Linux下的串列埠程式設計(二)----(圖文並茂,講解深刻)http://blog.csdn.net/w28252
Linux串列埠程式設計教程(三)——串列埠程式設計詳(原始碼)解:http://blog.csdn.net/u011192270/article/details/48174353 Linux下的串列埠程式設計(二)----(圖文並茂,講解深刻)http://blog.csdn.ne