二進制檔案與文字模式的差異在於 二進制直接以位元組作輸出入,而文字模式將位元組轉為ASCII碼,再作輸出入。
使用fread/fwrite進行讀寫
函式原型
int fread(void *buf, int size, int n, FILE *fp);
將n筆fp資料,以每筆size大小,讀入buf緩衝區
int fwrite(const void *buf, int size, int n, FILE *fp);
將buf中的n筆資料,以每筆size大小,寫入fp
透過fseek可以隨機存取想要存取的位置
函式原型
int fseek(FILE *fp, long int offset, int base);
offset以位元組為單位,可以為負數。
base可以為 SEEK_SET檔案起點、SEEK_CUR目前位置、SEEK_END檔案終點
使用rewind可以將讀寫位置移到檔案起點。
函式原型
void rewind(FILE *fp);
EOF是一種狀態,不是一種字元
判斷是否處於EOF狀態可以使用feof
函式原型 int feof(FILE *fp);
如果已經EOF傳回1,否則傳回0
沒有留言:
張貼留言