C語言之二進位制讀寫檔案

2021-08-28 02:38:23 字數 1794 閱讀 1680

###一、二進位制讀寫 引數

含義ptr

指向存放資料的記憶體塊指標,該記憶體塊的尺寸最小應該是 size * nmemb 個位元組

size

指定要讀取的每個元素的尺寸,最終尺寸等於 size * nmemb

nmemb

指定要讀取的元素個數,最終尺寸等於 size * nmemb

stream

該引數是乙個file物件的指標,指定乙個待讀取的檔案流

返回值:

【注】檔案是否以二進位制形式開啟並不影響二進位制讀寫,或者說影響很小

###二、例子

#include

#include

#include

#include

// 定義時間結構體

struct date

;// 定義書籍結構體

struct book

;int

main

(void)

file *fp;

// 寫入 ************************************/

struct tm *ptime;

time_t t;

time

(&t)

; ptime =

localtime

(&t)

;strcpy

(book_for_write -> name,

"《書籍名稱》");

strcpy

(book_for_write -> author,

"oceanickang");

book_for_write -> date.year =

1900

+ ptime -> tm_year;

book_for_write -> date.month =

1+ ptime -> tm_mon;

book_for_write -> date.day = ptime -> tm_mday;if(

(fp =

fopen

("./test.txt"

,"w"))

==null

)fwrite

(book_for_write,

sizeof

(struct book),1

, fp)

;fclose

(fp)

;// 讀取 ************************************/if(

(fp =

fopen

("./test.txt"

,"r"))

==null

)fread

(book_for_read,

sizeof

(struct book),1

, fp)

;printf

("書名:%s\n"

, book_for_read -> name)

;printf

(, book_for_read -> author)

;printf

(, book_for_read -> date.year, book_for_read -> date.month, book_for_read -> date.day)

;fclose

(fp)

;free

(book_for_write)

;free

(book_for_read)

;return0;

}

c語言讀寫二進位制檔案

1,寫二進位制檔案 file f out null 宣告檔案控制代碼 f out fopen c wb 開啟檔案控制代碼 if f out null return fwrite dataarray,sizeof unsigned char count,f out 寫資料,引數 源資料,塊大小,資料長...

C 讀寫二進位制檔案

摘要 使用c 讀寫二進位制檔案,在開發中操作的比較頻繁,今天有幸找到一篇文章,遂進行了一些試驗,並進行了部分的總結。使用c 操作檔案,是研發過程中比較頻繁的,因此進行必要的總結和封裝還是十分有用的。今天在網上找到一篇,遂進行了部分的試驗,以記之,備後用。include 寫二進位制檔案 寫二進位制檔案...

c 讀寫二進位制檔案

最近需要用到二進位制檔案讀寫的相關操作,這邊稍微總結下,首先二進位制檔案的讀寫可以使用fread和fwrite來處理。fread函式原型 size t cdecl fread void size t,size t,file 第乙個引數表示的是快取,第二個引數表示的是基本單元的大小,第三引數表示的是基...