C 檔案的操作處理

2021-09-24 03:32:56 字數 3678 閱讀 6390

順序檔案:乙個有限字元構成的順序字元流

檔案流:用於檔案操作

使用用/建立檔案的基本流程

讀寫檔案

關閉檔案

#include

ofstream outfile

("clients.dat"

, ios::out | ios::binary);

//ofstream時fstream中定義的類

//outfile時自定義的ofstream類的物件

是將要建立的檔案的檔名

//ios::*** 開啟並建立檔案的選項

ofstream fout;

fout.

open

("test.out"

, ios::out | ios::binary)

;//第二種建立順序檔案的方法:先建立ofstream物件,再用open函式開啟

開啟選項

檔名:

判斷開啟是否成功

if

(!fout)

讀/寫指標用於標識檔案操作的當前位置, 該指標在**,讀寫操作就在**進行 。

//寫指標

ofstream fout

("a1.out"

;long location = fout.

tellp()

;//取得寫指標的位置

location =

10l;

// 可為負值。10l是因為location是乙個long型變數

fout.

seekp

(location)

;// 將寫指標移動到第10個位元組處。seek postion

fout.

seekp

(location, ios::beg)

;// 從頭數location。

fout.

seekp

(location, ios::cur)

;// 從當前位置數location

fout.

seekp

(location, ios::end)

;// 從尾部數location

//讀指標

ifstream fin

(「a1.in」,ios::in)

;long location = fin.

tellg()

;//取得讀指標的位置

location =

10l;

fin.

seekg

(location)

;//將讀指標移動到第10個字

fin.

seekg

(location, ios::beg)

;//從頭數location

fin.

seekg

(location, ios::cur)

;//從當前位置數location

fin.

seekg

(location, ios::end)

;//從尾部數location

二進位制檔案讀寫是直接讀寫二進位制資料,如果直接拿記事本來看,結果未必正確。

int x=10;

fout.

seekp(20

, ios::beg)

;//從beginning開始的20個位元組開始寫起

fout.

write((

const

char*)

(&x)

,sizeof

(int))

;//寫入x

fin.

seekg(0

, ios::beg)

;fin.

read((

char*)

(&x)

,sizeof

(int))

;

二進位制檔案寫入
#include

#include

#include

using

namespace std;

class

cstudent

;int

main()

outfile.

close()

;return0;

}

note:

二進位制檔案讀出

#include

#include

#include

using

namespace std;

class

cstudent

;int

main()

while

(infile.

read((

char*)

&s,sizeof

(s))

) infile.

close()

;return0;

}

二進位制檔案讀寫
#include

#include

#include

using

namespace std;

class

cstudent

;int

main()

iofile.

seekp(2

*sizeof

(s),ios::beg)

; iofile.

write

("mike"

,strlen

("mike")+

1); iofile.

seekg(0

,ios::beg)

;while

(infile.

read((

char*)

&s,sizeof

(s))

) iofile.

close()

;return0;

}

檔案拷貝示例程式
#include

#include

using

namespace std;

//用法示例:

//mycopy src.dat dest.dat

//如果dest.dat原來就有,則被覆蓋

intmain

(int argc,

char

*ar**)

//命令列引數的使用

ifstream infile

(ar**[1]

, ios::binary | ios::in)

;//開啟檔案用於讀取if(

!infile)

ofstream outfile

(ar**[2]

, ios::binary | ios::out);if

(!outfile)

char c;

while

(infile.

get(c)

) outfile.

close()

; infile.

close()

;return0;

}

C 檔案操作 提取 處理檔案中資料

在a.txt 檔案中格式為 名字 工資 將 工資提取出來,進行 4操作 再放到檔案中。string strlines file.readalllines d viang desktop a.txt encoding.default 讀取檔案的每一行 for int i 0 i strlines.le...

C 檔案操作與C 的檔案操作

c filestream 檔案流 主要用於使用二進位制方式讀寫檔案資料,可讀取任何檔案 建立filestream物件 e 建立filestream物件 filemode 指定系統開啟檔案的方式filestream fileaccess 指定檔案的訪問方式 read唯讀,write只寫,readwri...

C 檔案的處理

乙個檔案是乙個儲存在磁碟中帶有指定名稱和目錄路徑的資料集合。當開啟檔案進行讀寫時,它變成乙個流。從根本上說,流是通過通訊路徑傳遞的位元組序列。有兩個主要的流 輸入流和輸出流。輸入流用於從檔案讀取資料 讀操作 輸出流用於向檔案寫入資料 寫操作 system.io 命名空間中的filestream類有助...