目錄
檔案的操作方式分為順序讀寫和隨機讀寫. 順序讀寫指檔案的指標只能從頭移到尾巴. 隨機讀寫指檔案指標可以隨意移動, 根據需要.
檔案指標: 在磁碟檔案操作中有乙個檔案指標, 用來指明進行讀寫的位置.
檔案流提供了一些有關檔案指標的成員函式:
成員函式
作用gcount()
返回最後一次輸入所讀入的位元組數
返回輸入檔案指標的當前位置
seekg (檔案中的位置)
將輸入檔案中指標移到指定的位置
seekg (位移量, 參照位置)
參照位置為基礎移動到指定的位置
tellp()
返回輸出檔案指標當前的位置
seekp (檔案中的位置)
將輸出檔案中指標移到指定的位置
seekp (位移量, 參照位置)
以參照位置為基礎移動若干位元組
從鍵盤輸入 10 個整數, 並將其儲存到資料檔案 f1. dat 中, 再從檔案中將資料讀出來, 顯示在螢幕上.
#include
#include
using namespace std;
int main()
// 寫入檔案
cout << "enter 10 integer numbers:\n";
for (int i = 0; i < 10; ++i)
// 讀取檔案
cout << "the numbers h**e been writen to file." << endl;
cout << "display the data by read from file:" << endl;
iofile.seekg(0, ios::beg);
for (int i = 0; i < 10; ++i)
iofile.close();
return 0;
}輸出結果:
enter 10 integer numbers:
1 2 3 4 5 6 7 8 9 10
the numbers h**e been writen to file.
display the data by read from file:
1 2 3 4 5 6 7 8 9 10
檔案中的位置和位移量為long型, 以位元組為單位.
參照位置可以是下面三者之一:
用法: 以 seekg (位移量, 參照位置) 為例:
利用成員函式移動指標, 隨機地訪問二進位制資料檔案中任意一位置上的資料, 還可以修改檔案中的內容.
學生資料處理:
#include
#include
#include "student.h"
using namespace std;
int main()
// 向磁碟檔案輸出2個學生的資料
student stud[2],
};for (int i = 0; i < 2; ++i)
// 讀取學生資料,並顯示
student read[2];
for (int i = 0; i < 2; ++i)
// 修改第2個學生的資料後存回檔案原位置
stud[1].setid(1012); //修改
stud[1].setname("wu");
iofile.seekp(sizeof(stud[0]),ios::beg);
iofile.write((char *)&stud[1],sizeof(stud[www.cppcns.com2]));
iofiwww.cppcns.comle.seekg(0,ios::beg);
// 讀入修改後的2個學生的資料並顯示出來
for(int i=0; i<2; i++)
iofile.close( );
return 0;
}輸出結果:
id= 1
name= little white
id= 1012
name= wu
C C 中檔案的讀寫格式
唯讀,二進位制,開啟 只寫,二進位制,開啟不新建 只寫,二進位制,開啟或新建 讀寫,二進位制,開啟 讀寫,二進位制,開啟或新建 追加,二進位制,開啟 唯讀,文字,開啟 rt,常用 只寫,文字,開啟不新建,只寫,文字,開啟或新建,wt,常用 讀寫,文字,開啟 讀寫,文字,開啟或新建,追加,文字,開啟 ...
檔案的隨機讀寫
檔案的隨機讀寫也就是說檔案指標可以隨意移動。檔案的操作方式 順序讀寫 檔案指標只能從頭移動到尾。隨機讀寫 檔案指標可以隨意移動,根據需要。上面的兩種檔案讀寫方式不論是ascii檔案還是二進位制檔案都是可以的。檔案指標 在磁碟檔案操作中有乙個檔案指標,用來知名當前應進行讀寫的位置,沒有具體變數。檔案流...
python中檔案讀寫 open函式詳解
在python中檔案的讀取分為三步走 讀 開啟檔案 讀檔案 關閉檔案 有點像把大象放進冰箱需要幾步?的問題 open函式主要運用到兩個引數,檔名和mode,檔名是新增該檔案物件的變數,mode是告訴編譯器和開發者檔案通過怎樣的方式進行使用。因此在python中開啟檔案的 如下 file object...