c++中的檔案輸入/輸出(3):掌握輸入/輸出流
2023年06月13日
normal 0 7.8 pt 0 2 false false false microsoftinternetexplorer4 /* style definitions */ table.msonormaltable table.msotablegrid
[b]掌握輸入[/b][b]/[/b][b]輸出流[/b]在這一章裡,我會提及一些有用的函式。我將為你演示如何開啟乙個可以同時進行讀、寫操作的檔案;此外,我還將為你介紹其它開啟檔案的方法,以及如何判斷開啟操作是否成功。因此,請接著往下讀!
到目前為止,我已為你所展示的只是單一的開啟檔案的途徑:要麼為讀取而開啟,要麼為寫入而開啟。但檔案還可以以其它方式開啟。迄今,你應當已經認識了下面的方法:
ifstream openfile(「cpp-home.txt」);
噢,這可不是唯一的方法!正如以前所提到的,以上的**建立乙個類ifstream的物件,並將檔案的名字傳遞給它的建構函式。但實際上,還存在有不少的過載的建構函式,它們可以接受不止乙個的引數。同時,還有乙個open()函式可以做同樣的事情。下面是乙個以上**的示例,但它使用了open()函式:
ifstream openfile;
openfile.open(「cpp-home.txt」);
你會問:它們之間有什麼區別嗎?哦,我曾做了不少測試,結論是沒有區別!只不過如果你要建立乙個檔案控制代碼但不想立刻給它指定乙個檔名,那麼你可以使用open()函式過後進行指定。順便再給出乙個要使用open()函式的例子:如果你開啟乙個檔案,然後關閉了它,又打算用同乙個檔案控制代碼開啟另乙個檔案,這樣一來,你將需要使用open()函式。
考慮以下的**示例:
[b]# include[/b]
[b]# include[/b]
[b]using[/b] [b]namespace[/b] std;
[b]void[/b] [b]read[/b](ifstream &t)
據此,只要file1.txt和file2.txt存在並儲存了文字內容,你將看到這些內容。
現在,該向你演示的是,檔名並不是你唯一可以向open()函式或者建構函式(其實都一樣)傳遞的引數。下面是乙個函式原型:
ifstream openfile(char*filename, int open_mode);
你應當知道filename表示檔案的名稱(乙個字串),而新出現的則是open_mode(開啟模式)。open_mode的值用來定義以怎樣的方式開啟檔案。下面是開啟模式的列表:
名稱描述
ios::in
開啟乙個可讀取檔案
ios::out
開啟乙個可寫入檔案
你寫入的所有資料將被追加到檔案的末尾,此方式使用ios::out
ios::ate
你寫入的所有資料將被追加到檔案的末尾,此方式不使用ios::out
ios::trunk
刪除檔案原來已存在的內容(清空檔案)
ios::nocreate
如果要開啟的檔案並不存在,那麼以此引數呼叫open()函式將無法進行。
ios::noreplace
如果要開啟的檔案已存在,試圖用open()函式開啟時將返回乙個錯誤。
ios::binary
以二進位制的形式開啟乙個檔案。
實際上,以上的值都屬於乙個列舉型別的int常量。但為了讓你的程式設計生涯不至於太痛苦,你可以像上表所見的那樣使用那些名稱。
下面是乙個關於如何使用開啟模式的例子:
#include
void main()
我是專學語言 對平台操作不會的 呵呵
ares 發表於2023年12月13日 15:20:00--------------------
void main()
} 這段**,如果你輸入abcde,它會自動執行5次,
怎麼讓它執行一次之後就接受鍵盤輸入?
weiwenjiangatm@163.com
等待高手指教
turkeycock 發表於2023年5月14日 5:26:00--------------------
[lin1]似乎in.seekg(0,ios_base::end);//來到檔案末尾
這樣的寫法才有效!
C 檔案輸入輸出
檔案輸入輸出 1 directory info 和file info 型別 directory和file通過靜態成員實現操作,擴充套件了system.object。返回強型別物件。directoryinfo和fileinfo通過例項級方法實現 必須使用new關鍵字分配它們 從filesystemin...
C 檔案輸入輸出
儲存在變數,陣列,物件中的資料都是暫時性的,當程式退出以後就會丟失,為了永久性儲存程式中有用資料,需要將資料以檔案形式儲存於磁碟或者光碟等物理介質。c 檔案主要是兩種 文字檔案和二進位制檔案 例如c 源程式是儲存在文字檔案,而最後的可執行程式是二進位制檔案。當然計算機本身是不區分二進位制檔案和文字的...
C 檔案輸入輸出
1 文字檔案的讀寫 文字檔案的讀寫,可以使用類似cin,cout方式,此外還有getline,get,二進位制檔案讀寫方式read,write經測試也可以使用 include include int main char buffer 256 注意使用getline讀至buffer,需新增 0 whi...